《设计模式之禅》读书笔记,包含第二部分:设计模式。
- 单例模式 (Singleton Pattern)
- 工厂方法模式 (Factory Method Pattern)
- 抽象工厂模式 (Abstract Factory Pattern)
- 模板方法模式 (Template Method Pattern)
- 建造者模式 (Builder Pattern)
- 代理模式 (Proxy Pattern)
- 原型模式 (Prototype Pattern)
- 中介者模式 (Mediator Pattern)
- 命令模式 (Command Pattern)
- 责任链模式 (Chain of Responsibility Pattern)
- 装饰器模式 (Decorator Pattern)
- 策略模式 (Strategy Pattern)
- 适配器模式 (Adapter Pattern)
- 组合模式 (Composite Pattern)
- 观察者模式 (Observer Pattern)
- 门面模式 (Facade Pattern)
- 备忘录模式 (Memento Pattern)
- 访问者模式 (Visitor Pattern)
-
这个Repo是我复习《设计模式之禅》第二部分:23种设计模式的读书笔记,笔记中包含了核心类图和代码,还有示例代码。由于代码都是Java版本,我用Typescript又实现了一遍示例。我建议你使用TypeScript Playground来复制代码查看效果,或者在此基础上进行进一步Coding。
-
为什么使用Typescript?我这里主要是借助Typescript对先进特性的兼容,能够使用一些“类 Java”的面向对象编程设计。
-
阅读Typescript代码时,你需要知道其实TS(或JS)本质是通过原型链来实现面向对象设计的,如果想了解更多关于JavaScript的面向设计精髓,可以看我的这篇文章。下面这幅图是JavaScript强大的动态原型生态链,我将基于它,来实现《设计模式之禅》的23大设计模式:
- 在最后,我将会结合本书的第一部分:六大设计原则,给出每一种设计模式满足了这六大原则中的哪一些,并进行一定分析,来锻炼自己对六大设计原则的理解。以下是六大设计原则:
-
Java语言一些面向对象的知识,例如类、接口、继承、实现等等。
-
UML(Unified Modeling Language)基础,知道类图 (Class diagram)。下面是一些常见的关系标记。
- Typescript的语言基础。