设计模式---创建型

2018-04-09  本文已影响0人  高山之水

设计模式创建型--5种

单例----创建线程安全类
工厂----创建bean工厂
抽象工厂----创建bean工厂的工厂
原型----clone模式 ---用于数据流转中对象快速复制
建造者---创建bean类型多样组合-创建方式不变-依靠算法实现不同组合创建bean

单例

/**
 * Created by huoyan403 on 2017/8/14.
 */
public class Singleton {

    //防止被引用 赋值为null  目的实现延迟加载
    private static Singleton singleton = null;

    //私有化构造方法
    private Singleton() {
    }

    //静态工程方法 创建实例
    public static Singleton getSingleton(){
        if(singleton == null){
                    //synchronized关键字锁住的是这个对象,这样的用法,在性能上会有所下降,因为每次调用getInstance(),
                    // 都要对对象上锁,事实上,只有在第一次创建对象的时候需要加锁,之后就不需要了
            synchronized (singleton){
                if(singleton == null) {
                    singleton = new Singleton();
                }
            }
        }
        return  singleton;
    }

    //如果该对象被用于序列化 可以保证在序列化前后保持一致
    public Object readResolve(){
        return singleton;
    }

}

工厂

工厂模式_1.jpg

抽象工厂

抽象工厂_2.jpg

原型

原型模式_4.jpg

建造者

建造者_3.jpg
上一篇 下一篇

猜你喜欢

热点阅读