java常用设计模式

单例模式(Singleton Pattern):

确保一个类只有一个实例,并提供一个全局访问点。它通常通过私有化构造函数、使用一个静态变量来保存类的唯一实例,并提供一个公共的静态方法来获取这个实例。

工厂模式(Factory Pattern):

定义一个创建对象的接口,但让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。在 Java 中,这通常通过定义一个创建对象的接口或抽象方法,并在子类中实现该方法来完成。

观察者模式(Observer Pattern):

定义对象间的一种一对多的依赖关系,当一个对象改变状态时,其所有依赖者都会收到通知并自动更新。这通常通过维护一个观察者列表并在对象状态改变时遍历这个列表来通知所有观察者。

原型模式(Prototype Pattern):

通过复制现有实例来创建新的对象。它允许动态地增加或减少产品类,且无须修改客户端代码。在 Java 中,这可以通过实现 Cloneable 接口并重写 clone() 方法来完成。

建造者模式(Builder Pattern):

将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。它通常通过一个建造者类来逐步构建对象,并最终返回构建好的对象。

代理模式(Proxy Pattern):

为其他对象提供一种代理以控制对这个对象的访问。它通常通过创建一个代理类来实现,该类包含对实际对象的引用,并可以在访问实际对象之前或之后添加额外的行为。

适配器模式(Adapter Pattern):

将一个类的接口转换成客户端希望的另一个接口。它通常通过创建一个适配器类来实现,该类实现了客户端期望的接口,并在内部使用需要适配的类的实例。

装饰器模式(Decorator Pattern):

动态地给一个对象添加一些额外的职责。它通常通过创建一个装饰器类来实现,该类包装了原始对象,并可以在调用原始对象的方法之前或之后添加额外的行为。

策略模式(Strategy Pattern):

定义了一系列算法,并将每一个算法封装起来,使它们可以互换。它通常通过定义一个策略接口,并让不同的算法实现这个接口来完成。客户端可以通过设置不同的策略对象来改变算法的行为。

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

在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中实现。它通常通过在一个抽象类中定义模板方法,并在该方法中调用一些抽象方法或钩子方法来完成。子类可以通过重写这些抽象方法或钩子方法来提供具体的实现。

相关推荐
我是小疯子6615 分钟前
Python变量赋值陷阱:浅拷贝VS深拷贝
java·服务器·数据库
森叶24 分钟前
Java 比 Python 高性能的原因:重点在高并发方面
java·开发语言·python
二哈喇子!27 分钟前
Eclipse中导入外部jar包
java·eclipse·jar
微露清风31 分钟前
系统性学习C++-第二十二讲-C++11
java·c++·学习
进阶小白猿1 小时前
Java技术八股学习Day20
java·开发语言·学习
gis开发1 小时前
【无标题】
java·前端·javascript
Wpa.wk1 小时前
性能测试 - 搭建线上的性能测试环境参考逻辑图
java·经验分享·测试工具·jmeter·性能测试
代码村新手2 小时前
C++-类和对象(中)
java·开发语言·c++
葵花楹2 小时前
【JAVA课设】【游戏社交系统】
java·开发语言·游戏
kylezhao20192 小时前
C# 文件的输入与输出(I/O)详解
java·算法·c#