所谓多例(Multiton Pattern)实际上就是单例模式的自然推广。作为对象的创建模式,多例模式或多例类有以下的特点:
1、多例类可以有多个实例
2、多例类必须能够自我创建并管理自己的实例,并向外界提供自己的实例。
典型的例子就是数据库线程池,下面我就模拟一下用户取得线程池中连接的简化场景:
先设计这个产生连接的类
然后,是客户端,用于获取连接:
package com.gy.designpattern.multition; /** * ClassName:Client <br/> * Function: 这是客户端,用于获取连接. <br/> * Reason: TODO ADD REASON. <br/> * Date: 2012-7-4 下午12:51:16 <br/> * @author gongyong * @version * @since JDK 1.6 * @see */ public class Client { public static void main(String[] args){ int userNum=10; for(int i=0;i<userNum;i++){ //用户获取到的连接时随机的 MyConnections conn= MyConnections.getInstance(); System.out.print("第"+i+"个用户获得的连接是:"); conn.connectionInfo(); } } }
OK,就是这么简单!