單例模式,可以說是設計模式中最簡單的一個。
這個模式相對于其他幾個模式相比較獨立,只需要負責控制自己的實例化數量單一,而需要考慮為用戶產生什么樣的實例,是一個給人感覺特別干凈純凈的模式。
Android中很多地方用到了單例模式。單例模式能夠以其特有的優勢,替代系統中的全局變量,應用非常廣泛。
意圖:
保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。
結構:
Android中有很多系統級別的全局變量,如時間,輸入法,賬戶,狀態欄等。Android中對這些都直接或者間接用到了單例模式。
在多線程的環境下,單例模式為了保證自己實例數量的唯一,必然會做并發控制。
效果:
1)創建型模式。
2)對唯一實例的受控訪問。
3)避免全局變量污染命名空間。
4)允許對操作和表示的精化。
5)比類操作更靈活。