面向对象—抽象

面向对象分析与设计的主要任务是,找出类和对象,构建对象模型。

对象模型的主要要素:抽象、封装、模块化与层次结构。

对象模型的次要要素:类型、并发、持久。


抽象描述了一个对象的基本特征,可以将这个对象与所有其他类型的对象区分开来,因此提供了清晰定义的概念边界,它与观察者的角度有关。

抽象关注一个对象的外部视图,用来分离对象的基本行为和实现。我们可以理解为抽象关注接口,即可观察到的行为;而封装则关注这些行为的实现。

面向对象设计的核心问题是对于给定问题找出一组正确的抽象。


抽象的两个原则:

最少承诺原则:对象的接口只提供它的基本行为。

最少惊奇原则:抽象捕捉了某个对象的全部行为,不多也不少,并且不提供抽象之外的惊奇效果和副作用。


评判抽象的品质:

耦合:模块之间的关联强度应该是比较弱的,即低耦合。

内聚:模块内的各个元素的联系时紧密的,即高内聚。

充分性:类或模块应该记录某个抽象足够多的特征,从而允许有意义的、有效的交互。

完整性:类和模块的接口记录了它的全部特征。

基础性:只有访问该抽象的底层表现形式才能够有效的实现那些操作。

你可能感兴趣的:(架构设计)