设计模式---创建型

设计模式创建型--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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容