跳至主要內容

设计模式 - Overview

Zenghr大约 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迪米特法则一个软件实体应当尽可能少的与其他实体发生相互作用

参考资料:如需详细了解七大原则,可以查看👉 万字总结之设计模式七大原则open in new window

23 种设计模式

根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和行为型模式 3 种:

  • 创建型模式: 这类模式提供创建对象的机制, 能够提升已有代码的灵活性和可复用性
  • 结构型模式: 这类模式介绍如何将对象和类组装成较大的结构, 并同时保持结构的灵活和高效
  • 行为型模式: 用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责

一、创建型模式

提示

TODO

二、结构型模式

三、行为型模式

提示

TODO

参考资料

java全栈知识体系 - 设计模式open in new window

C语言中文网 - 设计模式open in new window