awesome-design-patterns
A curated list of software and architecture related design patterns.
https://github.com/xiaomingx/awesome-design-patterns
Last synced: 17 days ago
JSON representation
一、设计模式学习方法论(先搞懂怎么学)
- Refactoring Guru - 最适合新手的指南,有图示、代码实例、适用场景对比,支持多语言。
- Martin Fowler的设计模式文章 - 从实战角度解读模式的“为什么用”而非“怎么写”。
三、通用架构设计模式(跨语言/场景)
2. 大规模系统架构模式
- 系统设计入门 - 涵盖高并发、高可用场景的核心模式(必看)。
二、按编程语言分的核心设计模式
**Go**
- tmrts/go-patterns - 覆盖“并发模式”(如Worker Pool)、“结构模式”(如Composition)。
- Effective Go - 官方指南,暗藏“错误处理模式”“接口隔离模式”等最佳实践。
**Java**
- iluwatar/java-design-patterns - 业界标杆,包含60+模式的完整代码+场景说明,支持Java 17+。
**JavaScript/TypeScript**
- sohamkamani/javascript-design-patterns-for-humans - 通俗讲解,含ES6+实现(如用class写单例)。
- TypeScript设计模式 - 结合类型系统的模式优化(如用泛型实现工厂模式)。
- React设计模式 - 前端必备:HOC(高阶组件)、自定义Hook、Context(状态共享)。
**Python**
- faif/python-patterns - 最流行的Python模式库,含简洁实现(如用装饰器实现单例)。
- Django设计模式与最佳实践 - 聚焦Web开发,比如“MTV架构”“中间件模式”。
**Rust**
- Rust非官方设计模式 - 核心是“零成本抽象”模式,如Builder(安全构造复杂对象)、State(状态机)。
**其他主流语言**
四、垂直领域架构模式
1. 云架构设计模式
2. 微服务与分布式系统
- 分布式系统模式 - 解决分布式核心痛点:
3. 数据库设计模式
4. DevOps与容器设计
- 多阶段构建模式 - 减小镜像体积;镜像分层优化(频繁变动文件放上层)。
- Kubernetes设计模式 - 生产级必学:
5. 移动开发设计模式
6. 机器学习(ML)设计模式
- 分布式机器学习设计模式 - 核心:模型并行、数据并行、特征工程流水线、模型服务化(如TensorFlow Serving)。