重修设计模式-概览

设计模式(Design Pattern)是对软件设计中普遍存在(反复出现)的各种问题所提出的解决方案。这些设计模式的实现和原理并不复杂, 重要的是搞清使用场景。

设计模式可以分为三大类,共23种:

**创建型:**主要解决对象的创建问题,将对象的创建与使用解耦。

  1. 单例模式
  2. 工厂模式
  3. 抽象工厂模式
  4. 建造者模式
  5. 原型模式

**结构型:**主要总结了类或对象组合在一起的经典结构。

  1. 代理模式
  2. 桥接模式
  3. 装饰器模式
  4. 适配器模式
  5. 门面模式
  6. 组合模式
  7. 享元模式

**行为型:**主要关注对象之间的交互和职责分配。

  1. 观察者模式
  2. 模板模式
  3. 策略模式
  4. 职责链模式
  5. 状态模式
  6. 迭代器模式
  7. 访问者模式
  8. 备忘录模式
  9. 命令模式
  10. 解释器模式
  11. 中介模式

借助设计模式,可以利用更好的代码结构,将大块复杂代码拆分成职责更单一的小类,让其满足开闭原则、高内聚松耦合等特性,以此来控制和应对代码的复杂性,提高代码的可扩展性。

相关推荐
油丶酸萝卜别吃16 分钟前
Java 集合类全景介绍
java·开发语言
钱栈up30 分钟前
"Flowable 工作流引擎进阶实战(高级篇):任务分配、流程变量与监听器"
java
豆沙沙包?38 分钟前
c++中引用(P7-P11)
java·c++·算法
wuminyu1 小时前
虚拟线程底层ForkJoinPool的工作窃取算法机制
java·linux·c语言·jvm·c++
掉鱼的猫1 小时前
Solon 的日志设计哲学:不只是用 SLF4J 做统一门面
java
szephyr1 小时前
腾讯云 ADP 智能体的 Skills 配置变更后没有走灰度,直接全量替换出了问题怎么定位?
java·前端·腾讯云·腾讯云adp
evans在进步2 小时前
LeetCode 200:岛屿数量——Java DFS 染色法详解
java·leetcode·深度优先
带刺的坐椅2 小时前
Solon 的日志设计哲学:不只是用 SLF4J 做统一门面
java·logback·solon·log4j2
Flittly2 小时前
【雕虫大技】Agent 动态 Skill 供应链安全加固(二):执行隔离沙箱实战
java·spring boot·spring
程序员黑豆2 小时前
Java变量详解:从入门到精通
java·前端·ai编程