《Android》『Singleton』- 單一物件模式

《簡單介紹》

Singleton 是一種概念,在開發 Android 專案的過程中,很常看到一些程式的寫法,是將建構子設成 private,再另外透過自行定義的一個類別方法,去呼叫建構子並取得該類別的物件實體,剛開始會覺得很奇怪,明明直接使用建構子就可以產生類別的物件實體,為什麼還要特別去定義一個方法呢?

這麼做其實是有它的意義存在的,當我們確定一個類別的物件實體,只需要被產生一次時,若是不去控管建構子,那麼在不同地方需要用到這個類別時,都勢必須建立一個物件實體來操作,這樣會在無形之中建立了許多相同類別的物件,導致資源的浪費,因此,透過自訂一個控管建構子的類別方法,我們可以判斷此類別的物件實體是否已經被建立過,若是已經建立過,則不再建立,以確保每次在使用此類別的物件時,不會重複產生一樣的物件,這種單一物件的設計模式便稱為 Singleton。

 

《程式範例》

建立 Singleton 的設計模式有幾個要注意的地方,條列如下 –

1. 須將建構子設為 private,以確保此類別皆是透過自訂的方法建立實體。

2. 需自定一個 static 的方法,通常取名為 newInstance 或者是 getInstance,並在其中判斷此類別之物件實體是否已被建立過。

3. 需宣告一個 static 參數,用來儲存此類別本身之物件實體。

以下直接透過程式碼片段,來說明實作 Singleton 的方式 –

Singleton.java

 

賽肥膩膩

我們是低調到不行的肥膩夫妻檔,一路上一邊吵鬧一邊記錄著生活大小事,最近迷上了宅在家追劇,希望能透過文字將所有看過的影集好好紀錄,整理成屬於我們自己的回憶資料庫。

上 / 下一篇文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *