二十三種設計模式之創建型模式之單態模式

單態模式

概述


保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。

適用性


1.當類只能有一個實例而且客戶可以從一個衆所周知的訪問點訪問它時。

2.當這個唯一實例應該是通過子類化可擴展的,並且客戶應該無需更改代碼就能使用一個擴展的實例時。

參與者


Singleton

  定義一個Instance操作,允許客戶訪問它的唯一實例。Instance是一個類操作。
  可能負責創建它自己的唯一實例。

類圖


這裏寫圖片描述

例子


Singleton

public class Singleton {

    private static Singleton sing;

    private Singleton() {

    }

    public static Singleton getInstance() {
        if (sing == null) {
            sing = new Singleton();
        }
        return sing;
    }
}

Test

public class Test {

    public static void main(String[] args) {
        Singleton sing = Singleton.getInstance();
        Singleton sing2 = Singleton.getInstance();

        System.out.println(sing);
        System.out.println(sing2);
    }
}
result 
singleton.Singleton@1c78e57
singleton.Singleton@1c78e57

Copyright © 2008 Angus Young
瘋狂Java聯盟:http://www.crazyit.org

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章