多例模式
定义:
作为对象的创建模式,多例模式中的多例类可以有多个实例,而且多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。
例子:
类图:
直接上代码(看了单例后,看这个傻子都懂):
public class Emperor {
//最多只能有两个皇帝
private static int maxNumOfEmperor = 2;
private static ArrayList emperorInfoList = new ArrayList(maxNumOfEmperor);
//皇帝叫什么名字
private static ArrayList emperorList = new ArrayList(maxNumOfEmperor); //装皇帝的列表
///正在被人尊称的是那个皇帝
private static int countNumOfEmperor = 0;
//先把2个皇帝产生出来
static {
//把所有的皇帝都产生出来
for (int i = 0; i < maxNumOfEmperor; i++) {
emperorList.add(new Emperor("皇" + (i + 1) + "帝"));
}
}
//就这么多皇帝了,不允许再推举一个皇帝(new 一个皇帝)
private Emperor() {
//世俗和道德约束你,目的就是不让你产生第二个皇帝
}
private Emperor(String info) {
emperorInfoList.add(info);
}
public static Emperor getInstance() {
Random random = new Random();
//随机拉出一个皇帝,只要是个精神领袖就成
countNumOfEmperor =random.nextInt(maxNumOfEmperor);
return emperorList.get(countNumOfEmperor);
}
//皇帝叫什么名字呀
public static void emperorInfo() {
System.out.println(emperorInfoList.get(countNumOfEmperor));
}
}
总结:其实也没啥好总结的,反正开发这么久没用到过,应该是最渣的一个设计模式了。