概述:
實際生活中單態模式的應用場景有挺多的,比如windows的任務管理器、**站、**的計數器、應用程式的日誌應用。
那麼存在什麼需求時會使用單態模式?答案是在我們僅建立類的乙個例項成為我們的最優選擇時,例如1、**的計數器,如果我們建立了多個例項,那麼我們難以同步**的計數情況;2、windows的**站,多個例項很不方便維護....我們選擇讓像同類的實力指向同乙個記憶體區。那麼怎麼去實現這個單態模式呢?下面來重點闡述:
單態模式的實現:
1、首先我們要明確我們最終要得到的是什麼,假設這個類名為main,我們最後呼叫的方式不再是通過main m1 = new main();而是通過main m1 = main.x1()://x1為乙個靜態的方法名;
2、然後我們為了實現單態需要保證什麼?我們要保證無法從外部來new得到乙個新的例項,我們的例項必須是單一的,
所以我們的建構函式必須要被私有化;
3、接下來我們就可以寫**了:
package com.zn.singletonpattern;
public class main //private保證了私有化,在類外部無法使用new方法來建立例項
//提供靜態方法返回該類的例項,這個方法保證了例項只能存在乙個
public static main getinstance()
return instance;
} public int getvalue()
public void setvalue(int value)
public static void main(string args)
}
輸出是:正在執行構造器
true
單例模式應用場景
了解單例模式 單例模式實際應用場景。1.windows的task manager 任務管理器 就是很典型的單例模式 這個很熟悉吧 想想看,是不是呢,你能開啟兩個windows task manager嗎?2.windows的recycle bin 站 也是典型的單例應用。在整個系統執行過程中,站一直...
單例模式的應用場景
使用單例模式最核心的一點是體現了物件導向封裝特性中的 單一職責 和 物件自治 原則。很多時候我們要保證類的例項只有乙個。我們可能在自己的 中判斷需要的類的例項有無,無就new乙個。這樣看似不錯。問題是,你用到這個類的地方有n個,這樣你就需要n個判斷。為什麼不把這個職責交給類本身呢?然後讓類提供乙個介...
單例模式的應用場景
單例模式是乙個非常重要的設計模式,下面是單例模式的經常使用場景 1 專案中的配置檔案,如資料庫的連線資訊等,通常會用單例物件讀取並儲存 2 hibernate的sessionfactory應作為單例使用 3 servlet是典型的單例物件,這個物件是由tomcat伺服器建立並維護的 4 spring...