白话java设计模式

创建模式

单例模式(Singleton Pattern):

就是一次创建多次使用,它的对象不会重复创建,可以全局来共享状态。

工厂模式(Factory Method Pattern):

可以通过接口来进行实例化创建,创建时不需要知道创建对象的具体参数,直接获取到最终的产品对象。

举例来说,工厂模式就像我们买车一样,你不需要知道车辆的具体参数指标,只需要输入车辆的型号就可以买到车。哪怕厂家对车辆进行调参后,你获得的还是这个型号的车。

建造者模式(Builder Pattern):

这种模式顾名思义,就是在创建对象的时候需要调用多个建造步骤,比如制造车,分为安装轮胎,安装底盘,安装发动机等,创建对象的时候按需求调用就行。针对所有车的建造流程大同小异,所以可以定义一个建造车辆的抽象接口类定义所有的建造步骤。

原型模式(Prototype Pattern):

克隆一个原来的对象。

结构模式

适配器模式(Adapter Pattern):

将一个类的接口转换为客户端希望的另一个接口,使得原本因接口不兼容而无法一起工作的类可以一起工作。

做一个适配类,把原来那个类的接口重新重新处理一下。

桥接模式(Bridge Pattern):

将抽象与实现解耦,使得两者可以独立地变化。

装饰者模式(Decorator Pattern):

动态地给一个对象添加额外的功能,而不改变其结构。

外观模式(Facade Pattern):

为复杂子系统提供一个简化的接口,使得客户端使用起来更加方便。

享元模式(Flyweight Pattern):

通过共享对象来减少内存使用,尤其是大量相似对象时。

组合模式(Composite Pattern):

将对象组合成树形结构来表示部分-整体的层次结构,客户端可以一致地对待单个对象和组合对象。

代理模式(Proxy Pattern):

为另一个对象提供代理以控制对该对象的访问。

行为模式

责任链模式(Chain of Responsibility Pattern):

为请求创建一个链式的处理对象结构,允许多个对象有机会处理请求。

命令模式(Command Pattern):

将请求封装成对象,从而允许使用不同的请求、队列或日志来参数化客户端。

解释器模式(Interpreter Pattern):

为语言的句法定义一种解释器,解释器可以处理语言中的各种表达式。

迭代器模式(Iterator Pattern):

提供一种方法顺序访问一个聚合对象中的元素,而又不暴露该对象的内部表示。

中介者模式(Mediator Pattern):

用一个中介者对象来封装一系列对象之间的交互,减少对象之间的直接耦合。

备忘录模式(Memento Pattern):

在不暴露对象实现细节的情况下,保存对象的内部状态,并可以在需要时恢复该状态。

观察者模式(Observer Pattern):

定义对象之间的一对多依赖关系,当一个对象状态发生改变时,所有依赖于它的对象都会自动收到通知并更新。

状态模式(State Pattern):

允许对象在其内部状态改变时改变其行为,行为的改变看起来像是改变了对象的类。

策略模式(Strategy Pattern):

定义一系列算法,把它们一个个封装起来,并使它们可以互换。

模板方法模式(Template Method Pattern):

在一个方法中定义一个算法的框架,允许子类在不改变算法结构的情况下重新定义某些步骤。

访问者模式(Visitor Pattern):

表示一个作用于某对象结构中的各个元素的操作,允许在不改变各个元素类的前提下定义作用于这些元素的新操作。

相关推荐
简小瑞1 小时前
VSCode源码解密:一行代码解决内存泄漏难题
前端·设计模式·visual studio code
Asort1 小时前
JavaScript设计模式(九)——装饰器模式 (Decorator)
前端·javascript·设计模式
rongqing20191 小时前
Google 智能体设计模式:模型上下文协议 (MCP)
设计模式
小小前端_我自坚强1 小时前
2025WebAssembly详解
前端·设计模式·前端框架
笨手笨脚の2 小时前
设计模式-责任链模式
设计模式·责任链模式·行为型设计模式
笨手笨脚の4 小时前
设计模式-策略模式
设计模式·策略模式·行为型设计模式
王嘉俊9255 小时前
设计模式--适配器模式:优雅解决接口不兼容问题
java·设计模式·适配器模式
王嘉俊9255 小时前
设计模式--组合模式:统一处理树形结构的优雅设计
java·设计模式·组合模式
rongqing20195 小时前
Google 智能体设计模式:多智能体协作
设计模式
李广坤20 小时前
状态模式(State Pattern)
设计模式