設計模式之單件模式(Singleton)

2021-04-06 13:03:02 字數 876 閱讀 7400

計模式之單件模式(singleton)

將類設計成單件模式之後,在系統中生成得物件只有乙個,任何方法呼叫這個類,只能通過制定得方法得到這個類的唯一物件,類似於普通類中的靜態方法和屬性,不管這個類進行了多少次例項化,在記憶體中對於宣告的靜態方法和屬性只有乙個!

利用單件模式,這個類裡的方法和屬性在記憶體都只有乙個物件,所以單件模式的應用場景是對於應用系統中某個物件是唯一的或是固定的,比如資料庫的連線,應用程式的配置檔案,web的計數器功能,等之類的應用!

在寫單件模式類的時候是和寫普通類元件有區別的!

我把我測試的乙個小例子貼上來!

public class class1

//對外提供該類物件的入口點

public static class1 getinstance()

return _instance;

}//^_^,隨便定義字串,供前台呼叫測試

public string yubin="";

}上面這個小例子就是符合單件模式的!現在我們來測試一下

建乙個web頁,在其page_load方法裡寫上:

//定義乙個類物件引用yb,並對物件中的乙個域修改一下值

class1 yb=class1.getinstance();

yb.yubin="i love you";

//定義另乙個類物件引用yb1,並呼叫物件中的域,顯示在textbox

class1 yb1=class1.getinstance();

this.textbox1.text=yb1.yubin;

執行後,會發現textbox裡顯示的值是修改後的"i love you",可見前者對該物件變數做改變之後,後來呼叫者則取到的是修改後的最新值,說明在記憶體中只有乙個物件例項存在!

Java設計模式 單例模式(single)

目錄目的 應用例項 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。菜鳥教程 乙個國家有乙個首都 windows 是多程序多執行緒的,在操作乙個檔案的時候,就不可避免地出現多個程序或執行緒同時操作乙個檔案的現象,所以所有檔案的處理必須通過唯一的例項來進行。第一種 package com.ga...

設計模式之單件模式

有一些物件我們只需要乙個 也只能有乙個 比如 執行緒池 cache 對話方塊 處理偏好設定和登錄檔的物件 日誌物件 充當印表機 顯示卡等裝置的驅動程式的物件。利用靜態類變數 靜態方法和適當的訪問修飾符,就可以做到只存在乙個例項。這是乙個經典的單件模式 public class singleton p...

設計模式之單件模式

總結性 1 和全域性變數不同的是 利用單件模式,可以在需要時才建立物件 2 作用 常用於管理共享資源,eg 資料庫連線池或者執行緒池 3 單件模式 確保乙個類只有乙個例項,並提供乙個全域性訪問點 4 有點 單件可以延遲例項化 5 單件模式的類圖 類名 singleton 靜態變數 static un...