码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-08-23 19:12:04      阅读:179      评论:0      收藏:0      [点我收藏+]

标签: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的过程比较耗时 使用原型模式

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

 

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

标签:cto   延时   ssi   singleton   dem   延迟   pre   ati   有一个   

原文地址:http://www.cnblogs.com/goodcode/p/7419542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!