1. 程式人生 > >黑馬程式設計師——程式設計模式

黑馬程式設計師——程式設計模式

一、單例設計模式

設計模式的概念:解決某一問題最行之有效的方法。java中共有23種設計模式。

接下來我們講解其中的一種:單例設計模式。

單例設計模式的作用:使一個類在記憶體中只存在一個物件。

用程式碼實現單例設計模式需要做三部:

        1、將建構函式初始化。

例:private Single(){}

        2、在類中建立一個本類物件。

例:private static Single s= newSingle();

        3、提供一個訪問方法可以獲取到該物件。

例:public static Single getInstance()

                     {

                            returns;

                      }

例設計模式只是為了保證記憶體中的物件唯一。

1、為了避免其他程式過多建立該類物件,先禁止其他程式建立該類物件。

2、還為了讓其他程式訪問該類物件,只好在本類中,自定義一個物件。

3、為了方便其他程式對自定義物件的訪問,可以對外提供一些訪問方式。

這三步如何用程式碼體現呢?

1、private建構函式

2、在內中建立一個本類物件。

3、提供一個方法可以獲取到該類物件。

對於事物該怎麼描述,還怎麼描述。

當需要將該事物的物件保證在記憶體中唯一時,就將以上的三步加上即可。

class Single{

private Single(){}

private static single s = new Single();

public static Single getInstance()

{

return s;

}

}

class SingleDemo

{

public static void main(String[] args)

{

 Single ss=Single.getInstance();

}

}

單例設計模式有兩種寫法:

        1、餓漢式:也就是剛三部中的示例語句。它的特點是先初始化物件。如:Single類一進記憶體,就已經建立好了物件。在實際開發中,出於安全考慮,建議使用餓漢式。如上

2、懶漢式:它的特點物件是方法被呼叫時,才初始化,這也叫物件的延時載入。如:在以下完整程式碼中,Single類進記憶體,物件還沒有存在,只有呼叫了getInstance()方法時,才建立物件。

完整程式碼如下: