设计模式4 - 多例模式【Multition Pattern】
作者:互联网
多例模式
定义:
作为对象的创建模式,多例模式中的多例类可以有多个实例,而且多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。
例子:
类图:
直接上代码(看了单例后,看这个傻子都懂):
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)); } }
总结:其实也没啥好总结的,反正开发这么久没用到过,应该是最渣的一个设计模式了。
标签:Emperor,Pattern,皇帝,private,maxNumOfEmperor,static,new,Multition,设计模式 来源: https://blog.51cto.com/u_15294985/3006144