设计模式总结--单例设计模式

     刚刚阅读了《设计模式之禅》中关于java中设计模式的介绍,这里按照自己的理解对常见的23种设计模式进行简单的总结。

    一、单例模式。

     相对于其他的设计模式,单例设计模式是比较简单的一种设计模式了。其核心就是保证类对象的唯一性。这类似于古代的帝王,只能有一个。所以不管你在什么时候访问这个使用“帝王”这个类的对象,获得的永远是同一个对象。

     那么,如何保证对象的唯一性呢?

      首先对于要保证唯一性的类不能提供对外的构造函数。这就要求我们需要将构造函数定义成private。

      然后,在类中预先定义并初始化一个该类的对象,并对外提供唯一的get接口。这里可以将该成员变量定义为final,防止对该引用进行更改,从而保证变量唯一性。

      这样的话这个类就只能访问唯一的对象了。

      实现具体代码如下:

public class Singleton {

	private static final Singleton SINGLETON = new Singleton();
	
	private Singleton(){
		
	}
	
	public static Singleton getSingleton(){
		return SINGLETON;
	}
}

      当然,有时候我们可能不止需要一个对象,所以可以对单例设计模式进行扩展,成为可以随机提供一定数量的对象的访问的模式。比如,应用程序对于数据库的连接,如果仅仅提供一个连接对象,在较高并发的情况下容易产生拥堵,而如果不限制连接,有可能应为连接过多而出现数据库过载。这时,提供固定数量的连接对象是很有必要的。

public class SingleDemo {

	private String name;
	private static final int MAXNUMOFEMPEROR = 5;
	private static ArrayList demoList = new ArrayList();
	
	private SingleDemo(String name){
		this.name = name;
	}
	
	/**
	 * 初始化所有对象
	 */
	static{
		for(int i=0;i

    这样,我们就可以提供一定数量的对象了。

 

 

你可能感兴趣的:(学习总结,设计模式)