设计模式的记录

设计模式的记录,第1张

工厂模式

使用场景:对象的创建 和 对象的使用 分离

建造者模式

使用场景:产品的创建需要固定的步骤,适合产品族类的场景,比如产品a,产品b通产品系

单例模式

使用场景:独一份资源
使用静态内部类方式构建,线程安全

public class Singleton1 {
    private Singleton1() {}
    private static final Singleton1 single = new Singleton1();
    //静态工厂方法 
    public static Singleton1 getInstance() {
        return single;
    }
}
原型模式

场景:克隆对象

适配器模式

使用场景:java的io流

装饰器模式

使用场景:需要扩展原来类的功能,但是不修改原类的方法

代理模式

代理模式和装饰器模式都是给对象添加功能,但是装饰器模式的主体是被装饰者,代理模式的主体是代理类,可以控制对被代理类的访问,隐藏被代理类的详细信息
动态代理

外观模式

使用场景:提供一个门面,里面的细节隐藏

享元模式

使用场景:多个客户共享一些对象

策略模式

使用场景:多选一匹配

模板方法设计模式

使用场景:使用继承,juc下的AQS就使用了模板

责任链模式

使用场景:审批,多模式登录

观察者模式 分为拉取和推送

使用场景:推送,广播,间谍模式

访问者模式

使用场景:医院拿处方单取药,抓药

将资源放到list里面,然后外面传进来访问者,执行访问者的动作

命令模式

使用场景:只发命令,不用管实现细节

状态模式

使用场景:酒店订房,房子有空闲,预定,入住状态

备忘录模式

使用场景:游戏打boss前存档,打boss失败调用存档

迭代器模式

使用场景:java集合遍历

解释器模d

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/719384.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-25
下一篇2022-04-25

发表评论

登录后才能评论

评论列表(0条)

    保存