Victor's Code Journey
Victor's Code Journey

系列 - 设计模式

面向对象设计的思想源头与二十三种 GoF 模式的逐一拆解。

这个系列从「可维护性与可复用性」这个核心问题出发,先讲面向对象设计原则,再按创建型、行为型、结构型把 GoF 模式过一遍,最后收在依赖注入与控制反转——那两个今天已经渗透进几乎所有框架的「模式」。

每篇都按「问题场景 → 模式结构 → 代码实现」的顺序写,适合按顺序读一遍建立整体印象,也适合当模式速查手册。

#篇目这一篇讲什么
01面向对象设计原则SOLID 等面向对象设计原则,以及它们要解决的可维护性与可复用性问题
02设计模式之工厂模式把对象的创建过程封装起来,客户端只依赖接口而不是具体类
03设计模式之抽象工厂模式产品等级结构,隔离产品族与产品类,解决工厂类职责过重
04设计模式之建造者模式把复杂对象的组装过程与客户端解耦,只暴露建造者接口
05设计模式之模板方法模式父类定义算法骨架,子类重写其中可变的那几个步骤
06设计模式之原型模式用原型实例指定要创建的对象种类,通过拷贝创建新对象
07设计模式之中介者模式用中介者封装对象间的网状多对多交互,转成星形结构
08设计模式之命令模式把请求封装成对象,发送方无需知道接收者是谁、操作是哪个
09设计模式之责任链模式把多个处理者串成一条链,请求沿链传递直到有人处理
10设计模式之装饰模式用组合替代继承,动态给对象叠加职责
11设计模式之策略模式把一族算法封装成可互换的策略类
12设计模式之适配器模式把已有类的接口转换成客户端期望的接口
13设计模式之迭代器模式把聚合对象的遍历职责独立出来,解耦存储与遍历
14设计模式之备忘录模式状态恢复机制,Undo 操作的经典实现
15设计模式之组合模式树形结构里容器与叶子的一致性处理
16设计模式之观察者模式建立对象间的一对多依赖,一个对象改变时自动通知其他对象
17设计模式之门面模式给复杂子系统提供一个统一入口,降低与客户端的耦合
18设计模式之享元模式区分内部状态与外部状态,高效共享大量细粒度对象
19设计模式之桥梁模式分离两个独立变化的维度,让它们各自独立扩展
20设计模式之状态模式把状态转换与各状态下的行为封装进状态类
21设计模式之解释器模式用面向对象结构定义一门简单语言的文法与解释
22设计模式之代理模式用代理对象控制对目标对象的访问
23设计模式之单例模式保证一个类只有一个实例,并提供全局访问点
24设计模式之访问者模式在不修改元素类的前提下,给不同类型的元素加新操作
25设计模式之依赖注入把依赖的创建与客户端自身行为分开,实现松耦合
26设计模式之控制反转把对象之间依赖关系的控制权交给第三方容器