标签:cto 延时 ssi singleton dem 延迟 pre ati 有一个
建造者模式
分离了对组件的单独构造和装配 从而可以构造出复杂的对象
单例模式:保证一个类只有一个实例并且提供一个访问该实例的全局访问点 构造函数私有化 提供一个public访问方法。
单例模式种类:饿汉式、懒汉式、双重锁、静态内部类、枚举
饿汉式、双重锁、枚举 不能延迟加载 可以延迟加载懒汉式、静态内部类 其中静态内部类效果最佳 线程安全,调用效率高,并且实现了延时加载!
静态内部类代码如下
public class SingletonDemo { private static class SingletonClassInstance { private static final SingletonDemo instance = new SingletonDemo(); } private SingletonDemo(){ } //方法没有同步,调用效率高! public static SingletonDemo getInstance(){ return SingletonClassInstance.instance; } }
工厂模式(简单工厂)
用来生产同一等级结构中的任意产品 对于新的产品 需要修改已有代码
不符合开闭原则 框架中经常用到
spring 创建bean factory都使用
工厂方法
用来生产同一等级结构中的固定产品 支持增加任意产品
抽象工厂
用来生产不同产品族的全部产品
抽象的产品 产品族可以新增 产品无能无力
原型模式(复制、克隆)
需要实现Cloneable 接口 使用clone()方法可以进行复制 如文件流的close()方法
通过new产生一个对象需要非常繁琐的数据准备或访问权限 如果需要短时间创建大量对象 并且new的过程比较耗时 使用原型模式
建造者模式
分离了对组件的单独构造和装配 从而可以构造出复杂的对象
标签:cto 延时 ssi singleton dem 延迟 pre ati 有一个
原文地址:http://www.cnblogs.com/goodcode/p/7419542.html