有哪些设计模式,作用是什么?

设计模式是软件开发中常用的解决问题的经验总结,它们提供了一套通用的解决方案和设计原则,用于解决特定的软件设计问题。设计模式可以提高代码的可重用性、可维护性和可扩展性 ,并促进了代码的可读性和灵活性。

以下是一些常见的设计模式及其作用:

1、创建型模式

  • 工厂模式(Factory Pattern):用于创建对象,将对象的创建逻辑封装在一个工厂类中,使得代码更加灵活、可扩展。
  • 单例模式(Singleton Pattern):确保一个类只有一个实例,并提供全局访问点,常用于资源共享和全局状态管理。
  • 建造者模式(Builder Pattern):用于创建复杂对象,将对象的构建过程分解为多个步骤,使得构建过程灵活、可控。
  • 原型模式(Prototype Pattern):通过复制已有对象来创建新对象,避免了对象的重复创建过程,提高了性能和灵活性。

2、结构型模式

  • 适配器模式(Adapter Pattern):将一个类的接口转换为客户端所期望的接口,使得原本不兼容的类能够协同工作。
  • 装饰器模式(Decorator Pattern):动态地给一个对象添加额外的功能,同时又不改变其接口,通过对象的包装来实现。
  • 代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问,用于控制对象的访问和增加额外的功能。
  • 组合模式(Composite Pattern):将对象组合成树形结构,表示部分-整体的层次结构,使得客户端统一处理单个对象和组合对象。

3、行为型模式

  • 观察者模式(Observer Pattern):定义了对象之间的一对多依赖关系,使得一个对象状态改变时,其依赖者会收到通知并自动更新。
  • 策略模式(Strategy Pattern):定义了一系列可互相替换的算法,使得算法可以独立于使用它的客户端而变化。
  • 命令模式(Command Pattern):将请求封装成对象,使得请求的发送者和接收者解耦,可以支持请求的排队、记录和撤销等操作。
  • 迭代器模式(Iterator Pattern):提供一种顺序访问聚合对象元素的方法,而不需要暴露其内部表示,使得聚合对象的遍历更加简洁、灵活。

这些设计模式可以根据具体的问题场景选择使用,它们有助于提高代码的可维护性、可扩展性和可理解性,促进了代码的重用和灵活性。

相关推荐
2302_8057710717 小时前
Day23:POM设计模式(封装)
java·开发语言·设计模式
范中勤2 天前
技术文档:模型工厂 `llm_provider` / `llm_use` 分层设计
设计模式·langchain·架构设计·模型工厂·llm_provider
浅尝辄止;2 天前
设计模式在HIS/LIS医疗系统中的完整实践指南(C#版)
开发语言·设计模式·c#
范中勤2 天前
适配器模式(Adapter Pattern):原理、场景与 LLM 多厂商工程落地
设计模式·架构·langchain·适配器模式·多厂商
从琳开始9892 天前
[JavaEE]多线程初阶(下篇)------多线程案例(单例模式,阻塞队列,线程池,定时器)
java·单例模式·java-ee
408高手2 天前
23种设计模式
设计模式
yuehuaxin012 天前
上海贝岭 BL6523GX(D78) 单相计量芯片开发笔记:引脚定义、寄存器配置与校表流程
嵌入式硬件·智能家居·适配器模式·智能硬件
沫璃染墨2 天前
《Linux工程实践篇(二):线程池实战——从线程安全单例到完整源码实现》
linux·开发语言·c++·单例模式·设计模式·系统架构
sarasuki3 天前
MCP 为什么是一个协议而不是一个框架呢?
设计模式·agent·mcp
YumiProxy3 天前
代理IP自动切换避坑指南:会话保持、请求头与错误处理实战
网络·网络协议·tcp/ip·代理模式·ip