——阎宏《Java与模式》笔记
在记录23种设计模式之前,首先牢记设计模式的七大设计原则:
- 开-闭原则:一个软件应该对扩展开放,对修改关闭。
- 单一职责原则:每一个类应该实现单一的职责,不然应该将功能拆分作成不同类。
- 里式替换原则:任何时候都可以用子类替换父类,因为子类一定增强了父类的能力。
- 依赖倒转原则:面向接口编程,设计要依赖于抽象而不是具体化。
- 接口隔离原则:接口要小而专,绝不能大而全,功能齐全的一个接口应该被划分,比如琴棋书画要分四个接口,因为四样都会的人很少。
- 合成/聚合复用原则:要尽量使用合成/聚合,尽量不用使用继承,来达到复用的原则。
- 迪米特法则:又叫最少知识法则,一个对象应该对其它对象了解得越少越好,比如Web开发中浏览器对服务器运作一无所知,但是可通过前端控制器servlet请求资源。
创建型模式
共5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式
共7种:适配器模式、组合模式、装饰者模式、代理模式、享元模式、外观模式、桥接模式。
行为型模式
共11种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
另外还有,并发模式、实时模式等。