Java設計模式
Java工廠設計模式
Java抽象工廠模式
Java單例模式
Java建造者(Builder)模式
Java原型模式
Java適配器模式
Java橋接模式
Java過濾器模式(條件模式)
Java組合模式
Java裝飾模式
Java門面模式(或外觀模式)
Java享元模式(Flyweight Pattern)
Java責任鏈模式
Java命令模式
Java迭代器模式
Java中介者模式(Mediator Pattern)
Java解釋器模式
Java備忘錄模式
Java觀察者模式
Java狀態模式
Java空對象模式
Java策略模式
Java模板模式
Java訪問者模式
Java MVC模式
Java業務代理模式
Java組合實體模式
Java數據訪問對象模式
Java前端控制器模式
Java攔截過濾器模式
Java服務定位器模式
Java傳輸對象模式
Java單例模式
單例(Singleton)模式是Java中最簡單的設計模式之一。這種類型的設計模式屬於創建模式,因爲此模式提供了創建對象的最佳方法之一。
這種模式涉及一個類,它負責創建一個對象,同時確保只創建一個對象。這個類提供了一種方法來訪問它的唯一對象,可以直接訪問,而不需要實例化類的對象。
實現實例
我們將創建一個單一對象類 - SingleObject
。單個對象(SingleObject
)類的構造函數是私有的,並且具有自身的靜態實例。
SingleObject
類提供了一個靜態方法來獲取其靜態實例到外部世界。SingletonPatternDemo
或示例類將使用SingleObject
類來獲取SingleObject
對象。
第1步
創建一個Singleton類,
SingleObject.java
public class SingleObject {
//create an object of SingleObject
private static SingleObject instance = new SingleObject();
//make the constructor private so that this class cannot be
//instantiated
private SingleObject(){}
//Get the only object available
public static SingleObject getInstance(){
return instance;
}
public void showMessage(){
System.out.println("Hello World!");
}
}
第2步
從單例類中獲取唯一的對象。
SingletonPatternDemo.java
public class SingletonPatternDemo {
public static void main(String[] args) {
//illegal construct
//Compile Time Error: The constructor SingleObject() is not visible
//SingleObject object = new SingleObject();
//Get the only object available
SingleObject object = SingleObject.getInstance();
//show the message
object.showMessage();
}
}
第3步
驗證輸出,得到結果如下 -
Hello World!