你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS設計模式學習(7)單例

IOS設計模式學習(7)單例

編輯:IOS開發綜合

1 前言
數學與邏輯學中,singleton定義為“有且僅有一個元素的集合”。因此不管袋子有多大,每次從裡面取出彈子的時候,拿到的都是同一個。

2 詳述
2.1 簡述
面向對象應用程序中的單例類(singleton class)總是返回自己的同一個實例。它提供了對象所提供的資源的全局訪問點。與這類設計相關的設計模式稱為單例模式。

用一種只允許生成對象類的唯一實例的機制,“阻止”所有想要生成對象的訪問。

這個方法應該是靜態方法,因為讓類的實例去生成另一個唯一實例毫無意義。

2.2 何時使用單例模式
(1)類只能有一個實例,並且必須從一個為人熟知的訪問點對其進行訪問,比如工廠方法;

(2)這個唯一的實例只能通過子類化進行擴展,而且擴展的對象不會破壞客戶端代碼。

2.3 單例的原則
(1)發起調用的對象(calling object)不能以其他分配方式實例化單例對象。否則,就有可能創建單例類的多個實例。

(2)對單例對象實例化的限制應用與引用計數內存模型共存。

2.4 Cocoa Touch中常見的單例模式
UIApplication,UIAccelerometer和NSFileManager類。

3 結語
只要應用程序中需要用集中式的類來協助其服務,這個類就應該生成單一的實例,而不是多個實例。

以上是所有內容,希望對大家有所幫助。

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved