设计模式笔记

2020-04-07  本文已影响0人  我是电饭煲

23种模式教程

https://www.runoob.com/design-pattern/proxy-pattern.html

单例模式步骤

public class SingleObject {
 
   //创建 SingleObject 的一个对象
   private static SingleObject instance = new SingleObject();
 
   //让构造函数为 private,这样该类就不会被实例化
   private SingleObject(){}
 
   //获取唯一可用的对象
   public static SingleObject getInstance(){
      return instance;
   }
}

https://www.runoob.com/design-pattern/singleton-pattern.html

双重锁饱汉单例模式

//饱汉模式的双重锁模式,提高效率
public class Singleton3 {
    private volatile static Singleton3 singleton;
    
    private Singleton3(){
        
    }
    
    public static Singleton3 getInstance(){
        if(singleton == null){ // 解决锁开销大问题
            synchronized(Singleton3.class){ // 解决线程不安全问题
                if(singleton == null){ // 解决多次new问题
                    singleton = new Singleton3();
                }
            }
        }
        return singleton;
    }
}

java Builder模式

参数太多,主要是用一个内部类去实例化一个对象,避免一个类出现过多构造函数,而且构造函数如果出现默认参数的话,很容易出错。

1.自己写
2.lombok
https://blog.csdn.net/procedure_bear/article/details/81151925

责任链模式

1.Netty pipeline 
2.日志类型(info、warn)
3.优惠券叠加减免

https://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html
https://www.cnblogs.com/father-of-little-pig/p/11488898.html

上一篇下一篇

猜你喜欢

热点阅读