面向对象设计模式 OOAD

面向对象的三大特性:封装、继承、多态

三大基本设计原则:
1。封装变化
2。面向接口编程而非实现
3。优先使用组合

设计原则:
1。单一职责原则
   一个类只有一个单独的职责,多有的对象只关注自身职责的完成。
2。开放关闭原则
   对扩展时开放的对修改是关闭的。
   实现方法:
   a。抽象化,将系统设计为不再更改的架构,抽象层预见了所有的扩展,在

需要改变的时候只需要添加相应的实现。
   b。封装变化,可变化的行为放在一个对象里,即:“对可变性封装”
3。里氏替换的原则
   子类型可以完全替换父类型
    实现方法:
    a。抽象一个父类
    b。使用聚合
4。依赖倒置原则
   高层模块不依赖于底层模块,都依赖于抽象
5。接口隔离原则
   一个接口一封装了只种职责。
6。迪米特原则
   类的单一职责原则的延续。

名次解释:
高内聚:对象内部
低耦合:对象之间

三层视角理论:
概念视角:呈现所研究领域的各种模型,模型设计时尽可能的不考虑实现
          解决的问题是:策略性的结论,软件要负责什么
规约视角:考虑软件,考虑接口和而不是实行
          解决的问题:软件各部分的交流
实现视角:代码和数据的处理
          解决编码

概念视角和规约视角都是抽象的,是一个个行为;概念层是对象职责的清晰化,规约层是对象怎么协作,协作方式就是对象之间的契约。(单一原则,关注接口而非实现)
概念层是最稳定的,实现层是最不稳定的,所有高层不应该依赖底层,两者都应该依赖抽象。对象在概念层存在耦合,在实现层不能耦合。
所有的交换都是用基类,一个从基类派生的子类应支持基类所有行为,子类必能替换基类。

 

posted @ 2010-11-03 23:11  星空有我  阅读(662)  评论(0编辑  收藏  举报