设计模式原则与分类 Shepard-Wang

一个宗旨

管理变化,提高复用

两种手段

从 分解 到 抽象

八大原则

1)依赖倒置原则

  1. 高层模块(稳定)不应该依赖于底层模块(变化),二者都依赖于抽象(稳定)
  2. 抽象不依赖于细节变化,实现细节依赖于抽象

通俗来说就是设计类时应该 依赖抽象

2)开放封闭原则

类模块应该是可以扩展的,但是不可以修改

3) 单一职责原则

  1. 一个类应该仅有一个引起它变化的原因
  2. 变化的方向隐含着类的责任

4)Liskov 替换原则

子类必须能够替换他们的基类(is-a)

5)接口隔离原则

  1. 不应该强迫客服依赖他们不用的方法
  2. 接口应该小而完备

6)优先使用对象组合而不是类继承

7)封装变化点

使用封装来创建对象之间的分解层,让设计者在分解曾的一侧进行修改,而不会对另一侧产生不良影响,从而实现层次间的松耦合。

8)针对接口编程,而不是针对实现

  1. 不将变量声明为某个具体类,而是某个接口(不一定)

三 设计模式分类

四 注意

1)重构获得设计模式

2) 重构关键技法

3)关注变化点和稳定点

4)什么时候不需要设计模式

5)经验之谈