设计模式笔记

概览

根据模式的目的可分为:创建型,结构型和行为型
概览

JavaScript设计模式相关书籍:《Learning JavaScript Design Patterns》 by Addy Osmani

Java相关在线书籍代码GitHub地址

《JavaScript设计模式与开发实践》最全知识点汇总大全

面相对象设计原则

1. 开闭原则

一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

2. 里氏替换原则

所有引用基类(父类)的地方必须能透明地使用其子类的对象。

3. 依赖转换原则

抽象不应该依赖于细节,细节应当依赖于抽象。

4. 单一职责原则

一个类只负责一个功能领域中的相应职责。

5. 合成复用原则

尽量使用对象组合,而不是继承来达到复用的目的。

6. 迪米特法则

一个软件实体应当尽可能少地与其他实体发生相互作用。

7. 接口隔离原则

使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

使用频率

高频率使用的模式: 工厂方法,抽象工厂,外观模式,迭代模式,观察者模式
常用使用的模式:单例模式,适配器模式,代理模式,组合模式,策略模式,命令模式

单例模式有几种写法