設計模式學習之單例模式

UML結構類圖的經常使用畫法git

簡單工廠github

設計模式學習以外觀模式數據庫

設計模式學習之適配器模式設計模式

Demo傳送門服務器

單例模式咱們開發中用的不少了,最多見的是全局配置文件或者具體的如內購支付工具,或者數據庫管理,一些第三方SDK如友盟,Bugly等的配置等,那麼究竟什麼是單例模式呢?下面我描述一個簡單場景,分別用普通處理方式和單例模式進行處理,後面會給出單例模式的定義和具體應用場景工具

案例:對配置文件的讀取,這個配置文件中設置的是項目中用到的一些參數,好比訪問的服務器地址,分正式,測試和預發環境post

咱們建一個配置文件,status:0,1,2表明測試,預發和正式的三種狀態,Server表明三種狀態下的服務器地址,固然這裏只是個例子,具體項目中對多環境的配置這塊,我以前寫過一篇文章專門講述過,有興趣的朋友能夠前去查看下App多環境配置的方法學習

言歸正傳,下面介紹普通方法處理配置文件測試

1.普通方法處理

首先是建一個處理配置文件的類,提供一個解析配置文件的方法,而且在這個類中提供server屬性以供外界訪問設計

客戶端調用以下:

那麼這麼作的不足之處在哪裏呢?從表面看咱們也具備必定的封裝性,可是既然是配置文件,配置的東西確定在項目中多處用到,咱們這種方式是生成了一個ParseConfig的實例變量去訪問,若是多處用到,就要在使用到的地方屢次生成實例變量訪問,並且對文件的訪問也是要消耗資源的,那麼有沒有可能只初始化一次,對配置文件只解析一次的方法呢?單例模式就能夠實現,下面着重講述一下單例模式

2.單例模式

單例模式的定義

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

單例模式的功能

用來保證一個類在運行期間只會被建立一個類實例,此外還提供了全局惟一訪問這個類實例的訪問點

理論畢竟枯燥,主要仍是看代碼實現

客戶端調用

入口處初始化

調用

相關文章
相關標籤/搜索