重修设计模式-概览

设计模式(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. 中介模式

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

相关推荐
杨航 AI12 分钟前
JEV的用法
java·前端·数据库
灿飞25 分钟前
Kotlin与Java虚拟机七:空安全:把十亿美元的错误消灭在类型系统里
java·kotlin
知识搬运临时工35 分钟前
JVM 删掉偏向锁之后,一次无竞争锁从 0.3 纳秒变成 5.4 纳秒
java
IT枫斗者枫哥39 分钟前
用了BigDecimal还差一分?用四组Java代码查清原因
java·后端
一条泥憨鱼1 小时前
【消息队列】ACK确认了什么:消息队列可靠投递的完整链路
java·后端·kafka·消息队列·rabbitmq
从琳开始9892 小时前
网络原理入门(二)------OSI七层模型?TCP/IP五层(四层)模型原来是这样的
java·网络·tcp/ip·java-ee·php
文丑颜不良啊2 小时前
LeetCode1861~1880题目解析
java·leetcode
Flynn Liang2 小时前
AgentScope Java 深度解析:ReActAgent、HarnessAgent 与多智能体编排——JVM 上的自治 Agent 底座
java·大模型·架构设计·ai agent·spring ai·langchain4j·agentscope
Flynn Liang2 小时前
上线后怎么排查 AI 调用?Spring AI Observability:token/延迟/成本埋点与全链路追踪
java·人工智能·spring·监控·可观测性·observability·springai
文丑颜不良啊2 小时前
LeetCode1921~1940题目解析
java·leetcode