設計模式之單例模式

2021-07-27 07:52:33 字數 886 閱讀 7135

設計模式——單例模式——面試考懶漢式!!!

解決乙個類的記憶體中只存在乙個物件,想要保證物件唯一:

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

2.還為了讓其他程式可以訪問到該類物件,只好在本類中定義乙個物件

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

這三步的**實現:

將建構函式私有化

在類中建立乙個本類物件

提供乙個方法獲取該物件(外部沒有物件,但又要想外部可以呼叫,只能用類名呼叫,所有這個方法必須是靜態方法,類中的物件也要是靜態物件

對於實物該怎麼描述就怎麼描述,當需要將該事物的物件保證在記憶體中唯一時,只需將一下三步加上即可

**:

餓漢式:single類一進入記憶體,就已經建立好了物件

class single

private static single s=new single();

public static single getinstance()

}

懶漢式:實現物件延時載入:single類進入記憶體,物件還沒存在,呼叫方法時才建立物件
class single

private static single s=null;

public static synchronized single getinstance()

return s; } }

懶漢式提高效率——雙重判斷形式

class single

private static single s=null;

public static single getinstance()

return s;

} } } }

設計模式之單例模式

前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會23種設計模式並且會熟練運用的人,真的就是大師級的牛人了,設計模式是乙個專案主管或者架構師一定要會的東西...

設計模式之單例模式

package com.xie.singleton public class singleton 提供乙個共有的靜態的入口方法 public static singleton getinstance 懶漢式 延遲載入 提供乙個私有的靜態的成員變數,但不做初始化 private static sing...

設計模式之 單例模式

單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式 單件模式 使用方法返回唯一的例項 public class singleton private static singleton instance public static singleton geti...