Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/datawhalechina/sweetalk-design-pattern
基于《大话设计模式》对设计原则和设计模式进行解读。
https://github.com/datawhalechina/sweetalk-design-pattern
cpp design-patterns java python
Last synced: 4 days ago
JSON representation
基于《大话设计模式》对设计原则和设计模式进行解读。
- Host: GitHub
- URL: https://github.com/datawhalechina/sweetalk-design-pattern
- Owner: datawhalechina
- Created: 2022-09-16T15:48:45.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-28T13:55:44.000Z (8 months ago)
- Last Synced: 2024-05-08T00:19:35.521Z (6 months ago)
- Topics: cpp, design-patterns, java, python
- Language: C++
- Homepage:
- Size: 75.6 MB
- Stars: 84
- Watchers: 4
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sweetalk Design Pattern
本项目主要基于《大话设计模式》这本书,对该书的设计原则和23个设计模式进行解读,原书是C#语言编写,本项目使用其他各种编程语言进行代码重写,供大家了解其他语言在设计模式中的编程方式和技巧。
《大话设计模式》这本书,通过各种生活中的例子,在小菜和大鸟的不断提问与回答过程中,对程序的不断重构演变,学习设计模式在案例中的适用性,更进一步掌握设计模式的异同和关键点。
## 使用说明
结合《大话设计模式》这本书,总结了各种设计模式的基本概念、知识点和适用场景,并使用各种编程语言进行代码重写。先通过书中的案例,了解23种设计模式及其相关的代码示例,再尝试用其他语言进行实现,如果遇到难以实现的设计模式,再来查看本项目中的代码示例。
如果觉得本项目中有错误,可以[点击这里](https://github.com/datawhalechina/sweetalk-design-pattern/issues)提交你希望补充的内容或者想要实现的编程语言,我们看到后会尽快进行补充。
### 在线阅读地址
https://datawhalechina.github.io/sweetalk-design-pattern/#/
### 进度安排
| 章节 | 内容 | 负责人 |
| -------- | ------------------------------------------------------------ | ------------ |
| 前言 | 简介、内容概览(关联图)、设计理念 | 长琴 |
| 设计原则 | 单一职责原则 | 肖桐 |
| | 开闭原则 | 长琴 |
| | 依赖倒置原则 | 胡锐锋 |
| | 迪米特原则 | 碧涵 |
| | 里氏替换原则 | 长琴 |
| 设计模式 | 简单工厂模式、策略模式、装饰模式、代理模式、工厂方法模式 | 肖桐 |
| | 原型模式、模板方法模式、外观模式、建造者模式 | 碧涵 |
| | 观察者模式、抽象工厂模式、状态模式、适配器模式 | 长琴 |
| | 备忘录模式、组合模式、迭代器模式、单例模式 | 胡锐锋 |
| | 桥接模式、命令模式、职责链模式、中介者模式、享元模式、解释器模式、访问者模式 | 鸿飞 |
| 应用代码 | Java代码部分 | 碧涵 |
| | Python代码部分 | 肖桐 |
| | C++代码部分 | 长琴、胡锐锋 |## 项目目录
docs-----------------------------------------------大话设计模式
src------------------------------------------------示例代码
| +---design_patterns--------------------------------设计模式示例代码
| | +---cpp--------------------------------------------C++语言示例代码
| | | +---abstract_factory-------------------------------抽象工厂模式
| | | +---adapter----------------------------------------适配器模式
| | | +---bridge-----------------------------------------桥接模式
| | | +---builder----------------------------------------建造者模式
| | | +---chain_of_responsibility------------------------职责链模式
| | | +---command----------------------------------------命令模式
| | | +---composite--------------------------------------组合模式
| | | +---decorator--------------------------------------装饰模式
| | | +---facade-----------------------------------------外观模式
| | | +---factory_method---------------------------------工厂方法模式
| | | +---flyweight--------------------------------------享元模式
| | | +---interpreter------------------------------------解释器模式
| | | +---iterator---------------------------------------迭代器模式
| | | +---mediator---------------------------------------中介者模式
| | | +---memento----------------------------------------备忘录模式
| | | +---observer---------------------------------------观察者模式
| | | +---prototype--------------------------------------原型模式
| | | +---proxy------------------------------------------代理模式
| | | +---simple_factory---------------------------------简单工厂模式
| | | +---singleton--------------------------------------单例模式
| | | +---state------------------------------------------状态模式
| | | +---strategy---------------------------------------策略模式
| | | +---template_method--------------------------------模板方法模式
| | | +---visitor----------------------------------------访问者模式
| | +---java-------------------------------------------Java语言示例代码
| | +---python-----------------------------------------Python语言示例代码
README.md------------------------------------------项目说明### 参考书籍
- GoF
- 深入设计模式
- 精通 Python 设计模式(第 2 版)
- 人人都懂设计模式:从生活中领悟设计模式
- 秒懂设计模式
- Python 设计模式(第 2 版)
- 设计模式之禅
- HeadFirst 设计模式
- [设计模式 | 菜鸟教程](https://www.runoob.com/design-pattern/design-pattern-tutorial.html)### ChangeLog
- v1.2完成初版 221023
- v1.1完成笔记 221008
- v1.0基础结构 220916## 关注我们
扫描下方二维码关注公众号:Datawhale
## LICENSE
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。