设计模式的七大原则

  1. 单一职责原则(Single Responsibility Principle) :单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分;
  2. 里氏替换原则(LSP liskov substitution principle) :子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法;
  3. 依赖倒转原则(dependence inversion principle) : 面向接口编程,依赖于抽象而不依赖于具体;
  4. 接口隔离原则(interface segregation principle):每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分;
  5. 迪米特法则(law of demeter LOD) :一个类对自己依赖的类知道的越少越好;
  6. 开闭原则(open closed principle) :对扩展开放,对修改关闭;
  7. 合成复用原则(Composite Reuse Principle) :要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现; | 设计原则 | 一句话归纳 | 目的 | | —- | —- | —- | | 单一职责原则 | 一个类只干一件事,实现类要单一 | 便于理解,提高代码的可读性 | | 里氏替换原则 | 不要破坏继承体系,子类重写方法功能发生改变,不应该影响父类方法的含义 | 防止继承泛滥 | | 依赖倒置原则 | 高层不应该依赖低层,要面向接口编程 | 更利于代码结构的升级扩展 | | 接口隔离原则 | 一个接口只干一件事,接口要精简单一 | 功能解耦,高聚合、低耦合 | | 迪米特法则 | 不该知道的不要知道,一个类应该保持对其它对象最少的了解,降低耦合度 | 只和朋友交流,不和陌生人说话,减少代码臃肿 | | 开闭原则 | 对扩展开放,对修改关闭 | 降低维护带来的新风险 | | 合成复用原则 | 尽量使用组合或者聚合关系实现代码复用,少使用继承 | 降低代码耦合 |

设计模式分类

参考链接:https://sourcemaking.com/design_patterns
23种设计模式.xmind

创建型模式

用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。

结构性模式

通常用来处理实体之间的关系,使得这些实体能够更好地协同工作。

行为型模式

用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责。
用于在不同的实体间进行通信,为实体之间的通信提供更容易,更灵活的通信方法。