设计模式的两大策略和六大原则

两大设计策略

1. 从背景设计:

  • 在设计各部分所呈现的细节之前先创建总体概念
  • 共性和可变性分析

2. 类中封装变化(适当):

  • 适应未来的变化
  • 只实现哪些需要的特性,避免“分析瘫痪”

六大设计原则

1. 开闭原则(open-closed principle    OCP)

模块,方法和类应该对扩展开放,对修改封闭。即:软件设计得不对其修改就能扩展功能

本质:将软件设计成为新功能能够作为单独的模块加入系统,降低了集成成本。


2. 依赖倒置原则(dependency inversion principle    DIP)

高层模块不应该依赖于底层模块

抽象不应该依赖细节(细节依赖于抽象)

一个从基类派生的类应该支持基类的所有行为。即:依赖抽象


3.里氏代换原则(The Liskov Substitution Principle     LSP)

子类型必须能够替换掉它们的父类型


4. 迪米特法则(Law of Demeter     LOD):最少知识原则

类与类之间保持松耦的耦合关系,降低各模块之间的耦合 。


5. 接口隔离原则(Interface Segregation Principle        ISP)

建立单一接口,只建立需要的,剔除多余的,多余的成为另外单一新接口。


6. 单一职责原则(The Single Responsibility Principle      SPR)

一个类应该应该有专用的职责,而不是“全家桶”,“万金油”。


其他思考

  • 小心过分依赖模式
  • 模式都是发现而非发明
  • 概念层次的模式和模型都是真理的抽象
  • 适合某个问题的模式就在问题之中,而不是强加在问题之上。
  • 模式实现的具体方式有问题本质,约束条件和需求决定。
  • 使用模式警惕常见误区:浮于表面,偏见,错选,误判,削足适履。

猜你喜欢

转载自blog.csdn.net/weixin_43800786/article/details/85084650