本项目是《设计模式:可复用面向对象软件的基础》的学习笔记。
原书采用了 C++ 或 Smalltalk 语言进行代码示例,本项目统一采用 Java 提供丰富的样例。
ch01.引言
ch02.实例研究:设计一个文档编辑器
ch03.创建型模式
创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那 些对象。
一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。
ch04.结构型模式
结构型模式涉及到如何组合类和对象以获得更大的结构。
结构型对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法。
因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大的灵活性,而这种机制用静态类组合是不可能实现的。
- 适配器模式-Adapter
- 桥接模式-Bridge
- 组合模式-Composite
- 装饰模式-Decorator
- 外观模式-Facade
- 享元模式-Flyweight
- 代理模式-Proxy
- 结构型模式的讨论
ch05.行为模式
行为模式涉及到算法和对象间职责的分配。
行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。
这些模式刻划了在运行时难以跟踪的复杂的控制流。它们将你的注意力从控制流转移到对象间的联系方式上来。