Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/luohuidong/note-design-pattern


https://github.com/luohuidong/note-design-pattern

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# 设计模式

> [!NOTE]
> 所有例子均使用 TypeScript 实现

设计模式是软件设计中常见问题的典型解决方案。大部分的设计模式解决的是代码可扩展性的问题。设计模式的核心是需要将逻辑中变与不变的部分分类,达到变化的部分灵活、不变的地方稳定的目的。

设计模式可以分为三类:

- 创建型:提供对象的创建机制,提升已有代码的灵活性和复用性。
- 结构型:解释如何将对象和累组合成更大的结构,并且保持结构的灵活和高效。
- 行为型:关注对象之间的高效沟通和指责委派。

创建型的设计模式有:

1. [[工厂模式]]
2. [[生成器模式]]
3. [[原型模式]]
4. [[单例模式]]

结构型的设计模式有:

1. 代理模式
2. 桥接模式
3. [[装饰者模式]]
4. 适配器模式
5. 门面模式
6. 组合模式
7. 享元模式

行为型的设计模式有:

1. [[观察者模式]]
2. 模板模式
3. [[策略模式]]
4. 职责链模式
5. 状态模式
6. 迭代器模式
7. 访问器模式
8. 备忘录模式
9. 命令模式
10. 解释器模式
11. 中介模式

[//begin]: # "Autogenerated link references for markdown compatibility"
[工厂模式]: notes/%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8F.md "工厂模式"
[生成器模式]: notes/%E7%94%9F%E6%88%90%E5%99%A8%E6%A8%A1%E5%BC%8F.md "生成器模式"
[原型模式]: notes/%E5%8E%9F%E5%9E%8B%E6%A8%A1%E5%BC%8F.md "原型模式"
[单例模式]: notes/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F.md "单例模式"
[装饰者模式]: notes/%E8%A3%85%E9%A5%B0%E8%80%85%E6%A8%A1%E5%BC%8F.md "装饰者模式"
[观察者模式]: notes/%E8%A7%82%E5%AF%9F%E8%80%85%E6%A8%A1%E5%BC%8F.md "观察者模式"
[策略模式]: notes/%E7%AD%96%E7%95%A5%E6%A8%A1%E5%BC%8F.md "策略模式"
[//end]: # "Autogenerated link references"