软件设计原则小记

1. 单一职责原则

  • 一个类只有一个职责,只有一个原因引起变化

  • 最大的好处是复用,类、接口拆得够小,复用的可能就越大

  • 需求变化引起的修改少

2. 里氏替换原则

  • 父类出现的地方子类都可以出现

  • 子类必须实现父类的所有方法

  • 为了实现面向接口/面向抽象编程

3. 依赖倒置原则

  • 高层依赖不依赖低层,依赖于抽象

  • 抽象不依赖于细节,细节依赖于抽象

  • 本质就是面向接口编程

  • 接口、抽象的实质就是契约

  • 抽象将不同的实现方式进行和约束和职责划分,是软件设计中的精髓

  • 各个类之间松耦合

4. 接口隔离原则

  • 尽量不要依赖不需要的接口,这就要求接口拆得足够细

5. 迪米特法则(最少知识原则)

  • 一个类对另一个类需要知道的越少越好

  • 一个类只和自己的朋友类交流,朋友类包括出现在成员变量和参数的类

  • 不要在方法体中直接调用其他类,这样耦合度太高

6. 开闭原则

  • 总原则

  • 对修改关闭,对扩展开放

  • 尽量通过增加代码而不是修改原有代码来实现新的需求变化

  • 软件设计时要有足够的抽象

你可能感兴趣的:(软件设计原则小记)