Design Pattern - Singleton Pattern(译)

450 查看

原文链接
译者:smallclover
个人翻译,水平有限,如有错误欢迎指出,谢谢!

设计模式-单例模式

单例模式是Java中最简单的设计模式之一。这种类型的设计模式,是创建型模式下创建对象的最好方式之一。
这个模式涉及到一个单独的类,它负责创建一个对象,并且同时确保只有唯一的一个对象能被创建。这个类提供唯一的方法直接访问这个对象而无需实例化对象。

实现

我们创建一个SingleObject类。SingeObject类有一个私有的构造器和一个它自身的静态实例对象。
SingleObject类提供一个静态的方法,外部可以是使用它来获得SingleObject的静态实例。SingletonPatternDemo, 我们的demo类将通过SingleObject类来获得SingleObject 对象。

第一步

创建一个Singleton 类。
SingleObject.java

public class SingleObject {

   //创建SingleObject的对象
   private static SingleObject instance = new SingleObject();

   //使构造函数私有,外界将无法实例化该类
   private SingleObject(){}

   //获得唯一可用的对象
   public static SingleObject getInstance(){
      return instance;
   }

   public void showMessage(){
      System.out.println("Hello World!");
   }
}

第二步

从单例类获得唯一的对象。
SingletonPatternDemo.java

public class SingletonPatternDemo {
   public static void main(String[] args) {

      //非法构造 
      //编译错误,构造函数SingleObject()不可见。
      //SingleObject object = new SingleObject();

      //获得唯一可用对象
      SingleObject object = SingleObject.getInstance();

      //展示信息
      object.showMessage();
   }
}

第三步

校验输出。

Hello World!