设计模式从大的维度来说,可以分为三大类:创建型模式、结构型模式及行为型模式
- 创建型模式:有单例模式、工厂模式、抽象工厂模式、建造者模式及原型模式
- 结构型模式:代理模式、组合模式、装饰模式及外观模式
- 行为型模式:模板方法模式、命令模式、策略模式和责任链模式
- 单一职责原则
- 开闭原则
- 里氏替换原则
- 依赖倒置原则
- 接口隔离原则
- 迪米特法则
解耦和重用
- 软件中的设计模式,是设计优秀可维护软件的基础。使用好的设计模式,设计出来的软件系统,更方便维护。
- 理解了每个设计模式的含义和应用场景,是通向架构师的必经之路。
- 大多框架都是使用大量的设计模式,对于阅读理解这些代码设计也大有帮助。
- 设计模式三个准则:
- 1 中意于组合而不是继承
- 2 依赖于接口而不是实现
- 3 高内聚,低耦合
下面的设计理念来自上面的 云原生的设计理念
,在日常的软件开发中可以有所应用。
面向分布式设计(Distribution):容器、微服务、API 驱动的开发; 面向配置设计(Configuration):一个镜像,多个环境配置; 面向韧性设计(Resistancy):故障容忍和自愈; 面向弹性设计(Elasticity):弹性扩展和对环境变化(负载)做出响应; 面向交付设计(Delivery):自动拉起,缩短交付时间; 面向性能设计(Performance):响应式,并发和资源高效利用; 面向自动化设计(Automation):自动化的 DevOps; 面向诊断性设计(Diagnosability):集群级别的日志、metric 和追踪; 面向安全性设计(Security):安全端点、API Gateway、端到端加密;
下面的图片是来自 wiki
的图片。并对设计模式进行了分类
- Gang of Four patterns
- Concurrency patterns
- Architectural patterns
- Other patterns
分 类 | 描 述 |
---|---|
Creational | 创造 |
Structural | 结构 |
Behavioral | 行为 |
Functional | 实用 |
Concurrency | 并发 |
Architectural | 建筑 |
Cloud Distributed | 云 分布式 |