3.6、多例设计模式(理解)
单例设计模式只留有一个类的一个实例化对象,而多例设计模式,会定义出多个对象,例如:定义一个表示星期X的类,这个类的对象只有7个取值,定义一个表示性别的类,只有2个取值,定义一个表示颜色基色的操作类,颜色只有三个:红、绿、蓝,这种情况下,这样的类就不应该由用户无限制的去创造实例化对象,应该只使用有限的几个,这个就属于多例设计,但不管是单例设计还是多例设计,有一个核心不可动摇 —— 构造方法私有化。
class Sex { private static final Sex MALE = new Sex("男") ; private static final Sex FEMALE = new Sex("女") ; private String title ; private Sex(String title) { // 构造方法私有化 this.title = title ; } public static Sex getInstance(String msg) { switch(msg) { case "male" : return MALE ; case "female" : return FEMALE ; default : return null ; } } public String getTitle() { return this.title ; } } public class Test { public static void main(String args[]) { Sex male = Sex.getInstance("male") ; System.out.println(male.getTitle()) ; } } |
构造方法的封装是实现所有操作的基础,但是在我们所编写的代码过程之中,首先考虑的不是构造方法的封装。