“抽象”的级别

来源:互联网 发布:福昕阅读器破解版mac 编辑:程序博客网 时间:2024/06/06 00:26

面向对象三大特性是:封装,继承,多态。

所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。


以上是摘抄的定义。


抽象是建立在封装之上的。抽象是从不同的角度,不同的层次看待问题。层次越高,就越抽象。


抽象的几种级别:

  1. 将过程封装成一个方法。方法对外屏蔽了具体的实现和操作。使用者只需要根据方法签名使用即可。使用者眼中是各个不同的方法,无需关心细节。这种级别的抽象,是最低级别的抽象。

  2. 将事物封装成类。使用者眼中是各个不同的现成的,不用关心类具体的实现,将这些类组装调用,即可完成相应的工作。这是高一层的抽象。

  3. 将类封装模块或者构件。使用者眼中是一个完整的模块。比如说,日志有log4j。将系统划分成不同的模块。站在这个层次上看问题,只需要将各个模块拼装即可,也无需关心模块具体的实现,也无需关心模块包含哪些类。因为这个层次更高,抽象程度更高。比如说UML中的构件图,这个层次更关心各个构件之间的协作关系。

  4. 应用级别的抽象。这是最高层次的抽象。SOA就是一个例子,一个独立的服务,是一个独立的应用。。我们不需要去关心各个应用内部由哪些模块,构件组成,只需要将各个应用拼装来完成不同的任务。通常系统的架构图就是这样,只画出各个具体的服务,关注服务之间的调用关系。一个服务,一个数据库,一个消息队列,一个缓存服务都只是一个圆圈而已。站在这个层次看待问题,会当凌绝顶,一览众山小。

原创粉丝点击