一句话设计原则

面向对象的可复用设计( Object Oriented Design / OOD)

1. 开闭原则 (Open Closed Principle)

对扩展开放,对修改关闭

2. 里氏代换原则(LSP)

1.可以使用基类的地方,其子类必然也能使用
2.并且原功能不会受到任何影响

-- 经典案例, 正方形是不是长方形的子类?

3.依赖倒转原则(DIP)

依赖抽象,不要依赖具体,面向接口编程

传统过程性设计办法倾向于高层依赖低层,抽象依赖具体
image.png
依赖倒转原则,就是把错误的依赖关系倒转过来
image.png

4.接口隔离原则(ISP)

使用多个专门的接口,比使用单一的接口要好

5.合成、聚合复用原则(CARP)

尽量使用合成,聚合,尽量不使用继承

6.迪米特法则

不跟陌生人说话……

  1. 这是“某人” 的朋友圈, 他与“朋友” 之间是朋友关系
    image.png

  2. 这是“朋友” 与 “陌生人” 组成的朋友圈
    image.png

  3. 迪米特法则建议,“某人” 与 “陌生人” 之间不要进行直接通话,而是通过“朋友”去调用“陌生人”的方法,对于“某人”来说,“陌生人”是不存在的。
    image.png

怎么样才算“朋友”? 也只有患难见真情。

  1. 当前对象本身
  2. 以参量形式传入到当前对象方法中的对象
  3. 当前对象的实例变量引用的对象
  4. 当前对象实例是集合,则集合中的对象是朋友
  5. 当前对象创建的对象

应该是有依赖关系的,就算是“朋友”吧

posted @ 2019-01-14 14:58  悠拽的无双文士  阅读(171)  评论(0编辑  收藏  举报