设计模式 - Overview
大约 3 分钟
设计模式 - Overview
提示
设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案
为什么要使用设计模式?
使用设计模式的最终目的是 "高内聚低耦合"
- 代码重用性:相同功能的代码,不多多次编写
- 代码可读性:编程规范性,便于其他程序员阅读
- 代码可扩展性:当增加新的功能后,对原来的功能没有影响
设计模式的七大原则
面向对象的设计模式有七大基本原则:
- 开闭原则(Open Closed Principle,OCP)
- 单一职责原则(Single Responsibility Principle, SRP)
- 里氏代换原则(Liskov Substitution Principle,LSP)
- 依赖倒转原则(Dependency Inversion Principle,DIP)
- 接口隔离原则(Interface Segregation Principle,ISP)
- 合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP)
- 最少知识原则(Least Knowledge Principle,LKP)或者迪米特法则(Law of Demeter,LOD)
标记 | 设计模式原则名称 | 简单定义 |
---|---|---|
OCP | 开闭原则 | 对扩展开放,对修改关闭 |
SRP | 单一职责原则 | 一个类只负责一个功能领域中的相应职责 |
LSP | 里氏代换原则 | 所有引用基类的地方必须能透明地使用其子类的对象 |
DIP | 依赖倒转原则 | 依赖于抽象,不能依赖于具体实现 |
ISP | 接口隔离原则 | 类之间的依赖关系应该建立在最小的接口上 |
CARP | 合成/聚合复用原则 | 尽量使用合成/聚合,而不是通过继承达到复用的目的 |
LOD | 迪米特法则 | 一个软件实体应当尽可能少的与其他实体发生相互作用 |
参考资料:如需详细了解七大原则,可以查看👉 万字总结之设计模式七大原则
23 种设计模式
根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和行为型模式 3 种:
- 创建型模式: 这类模式提供创建对象的机制, 能够提升已有代码的灵活性和可复用性
- 结构型模式: 这类模式介绍如何将对象和类组装成较大的结构, 并同时保持结构的灵活和高效
- 行为型模式: 用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责
一、创建型模式
提示
TODO
二、结构型模式
- 结构型 - 装饰器模式(Decorator)
- 这种设计模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能
三、行为型模式
提示
TODO