Java设计模式之所有创建型模式

建造者模式
分离了对组件的单独构造和装配 从而可以构造出复杂的对象

单例模式:保证一个类只有一个实例并且提供一个访问该实例的全局访问点 构造函数私有化 提供一个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的过程比较耗时 使用原型模式

建造者模式
分离了对组件的单独构造和装配 从而可以构造出复杂的对象

 

posted @ 2017-08-23 18:18  敲代码的小黄鹂  阅读(218)  评论(0)    收藏  举报