![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
常见设计模式的用法
sunanjia
这个作者很懒,什么都没留下…
展开
-
单例模式(Java)
简介单例模式是最常用最简单的模式之一,属于创建型模式,实现该模式的类创建自己的对象,同时确保只有单个对象被创建。饿汉式类加载的时候就初始化,线程安全,实现比较简单class Singleton { //类加载的时候就会初始化 private static final Singleton instance = new Singleton(); //私有化构造函数,使不能通过构造方法创建对象 private Singleton() { } //只能通过该静态方法获取实例原创 2020-12-31 16:15:06 · 84 阅读 · 1 评论 -
工厂模式(Java)
工厂模式属于创建型模式,可细分为简单工厂、工厂方法、抽象工厂三种。简单工厂下面以配置文件解析器的例子来看看简单工厂模式的简单使用/* * 配置文件解析器接口 */ interface ConfigParser {}/* * xml文件配置解析器 */ class XmlConfigParser implements ConfigParser{}/* * json文件配置解析器 */class JsonConfigParser implements ConfigParse原创 2021-01-03 13:35:17 · 92 阅读 · 1 评论 -
建造者模式(Java)
建造者模式属于创建型设计模式,该模式使用多个简单的对象一步一步构建成一个复杂的对象。什么时候使用建造者模式创建一个对象,最常用的就是new关键字调用类的构造函数来完成,但是当构造函数的参数非常多的时候,代码的可读性和易用性就会变差,这个时候我们就可以使用建造者模式。简单使用class Mobile { private final String cpu; //处理器必须 private final int memory; //内存必须 private final boolea原创 2021-01-03 14:15:30 · 63 阅读 · 0 评论 -
代理模式(Java)
代理模式属于结构型设计模式,它主要是在不改变原始类代码的情况下,通过引入代理类给原始类附加功能。JDK动态代理interface IUserService { void add();}class UserServiceImpl implements IUserService { @Override public void add() { System.out.println("user add ...... "); }}class JDKLo原创 2021-01-04 11:47:11 · 94 阅读 · 3 评论 -
装饰器模式(Java)
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。该设计模式是使用组合替代继承的具体实现。使用装饰器模式不修改图形绘制类的情况下增加绘制颜色的功能/* * 绘制图形 */ interface Shape { void draw();}class Rectangle implements Shape { @Override public void dra原创 2021-01-04 10:47:56 · 92 阅读 · 0 评论 -
责任链模式(Java)
将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。以此类推,形成一个链条。链条上的每个处理器各自承担各自的处理职责,所以叫作职责链模式。代码简单实现abstract class Handler { # 指向下一个处理器 private Handler next;原创 2021-01-06 14:01:07 · 247 阅读 · 2 评论