1.1 多例模式(multiton)
1.1.1 描述
l 正规描述
多例模式中的多例类可以有多个实例,而且多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。
l 形象描述
每个人在其一生中要扮演许许多多的角色,在不同的需求环境下以不同的身份出现,表现出不同的行为,例如在老婆面前是一个好丈夫,在孩子面前是一个好父亲,在学校是好学生,在公司是好职员。
1.1.2 类图&示意代码
public class Multiton(){ public static final int INSTANCE_NUM = 10; private static Multiton[] instancArray = new Multiton()[INSTANCE_NUM];
static{ for(int i=0;i<INSTANCE_NUM;i++){ instanceArray[i] = new Multiton(); } }
private Multiton(){}
public static Multiton getInstance(int which){ if(which >= 0 && which < 10){ return instanceArray[which]; } }
public void Operation1(int which){ System.out.println(“This is Multiton instance ”+which); } }
public class Client(){ public void main(String args[]){ for(int i=0;i<Multiton.INSTANCE_NUM;i++){ Multiton.getInstance(i).Operation1(i); } } } |
注:
1、 自己负责创建自己的多个实例
2、 根据外部传进来的参数决定调用哪个实例