经典的设计模式有 23 种,分成三类,别离是:
创立型:
1、单例
2、工厂
3、建造者
4、原型
结构型:
1、适配器
2、装璜器
3、门面
4、享元
5、代理
6、组合
7、桥接
行为型:
1、策略
2、迭代器
3、模板办法
4、命令
5、状态
6、观察者
7、责任链
8、访问者
9、中介者
10、解释器
11、备忘录
但其实很多模式都是新瓶换旧瓶。例如:策略模式、状态模式、解释器模式、命令模式根本大同小异。所以不必太刻意去记住这些设计模式,很多设计模式都很相似,有时容易与其余设计模式混同。尽管有些模式很相似,但通过这些模式都能够反映其中外围的设计准则,那就是:
1、繁多职责:性能要垂直
2、迪米特准则:起码晓得,不要裸露多余的信息给外界
3、里氏替换准则:但凡父类呈现的中央都能够用子类代替
4、组合复用:应用组合形式来代替继承,实现性能复用
5、凋谢闭合:对外部扩大凋谢,对外部批改敞开
6、接口隔离:大接口拆分成若干个小接口,每个接口之间只保留客户端须要的办法
7、依赖倒置:高层和低层模块都依赖形象模块
而这 7 个设计准则,或多或少与面向对象思维无关:
1、多态
2、继承
3、封装