design-patterns
design-patterns copied to clipboard
《设计模式:可复用面向对象软件的基础》学习笔记
设计模式
项目说明
本项目是《设计模式:可复用面向对象软件的基础》的学习笔记。
原书采用了 C++ 或 Smalltalk 语言进行代码示例,本项目统一采用 Java 提供丰富的样例。
目录
ch01.引言
- 什么是设计模式
- MVC中的设计模式
- 描述设计模式
- 设计模式的分类
- 设计模式的组织分类
- 设计模式解决设计问题的方式
- 怎样选择设计模式
- 怎样使用设计模式
- 相关词汇表
ch02.实例研究:设计一个文档编辑器
ch03.创建型模式
创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那 些对象。
一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。
- 抽象工厂-AbstractFactory
- 生成器-Builder
- 工厂方法-FactoryMethod
- 原型模式-Prototype
- 单例模式-Singleton
- 创建型模式的讨论
ch04.结构型模式
结构型模式涉及到如何组合类和对象以获得更大的结构。
结构型对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法。
因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大的灵活性,而这种机制用静态类组合是不可能实现的。
- 适配器模式-Adapter
- 桥接模式-Bridge
- 组合模式-Composite
- 装饰模式-Decorator
- 外观模式-Facade
- 享元模式-Flyweight
- 代理模式-Proxy
- 结构型模式的讨论
ch05.行为模式
行为模式涉及到算法和对象间职责的分配。
行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。
这些模式刻划了在运行时难以跟踪的复杂的控制流。它们将你的注意力从控制流转移到对象间的联系方式上来。
- 责任链模式-ChainOfResponsibility
- 命令模式-Command
- 解释器模式-Interpreter
- 迭代器模式-Iterator
- 中介者模式-Mediator
- 备忘录模式-Memento
- 观察者模式-Observer
- 状态模式-State
- 策略模式-Strategy
- 模板方法模式-TemplateMethod
- 访问者模式-Visitor
- 行为模式的讨论