定義:
? ? ? ? ?在軟件開發中,經過驗證的,用于解決在特定環境下,重復出現的特定的問題的解決方案。
常用的設計模式有23種,分為3類:
1.創建型設計模式5種
? ?單例、工廠方法、抽象工廠、建造者、原型;
2.結構型設計模式7種
? ?適配器、橋接、裝飾、組合、外觀、享元、代理;
3.行為型設計模式11種
? ? ?模板方法、命令、迭代器、觀察者、中介者、備忘錄、解釋器、狀態、策略、責任鏈、訪問者;
每個設計模式的構成如下:
? ? ? ?1、模式名稱:模式的一個好記的名字
? ? ? ?2、環境和問題:描述在什么環境下,出現什么特定的問題
? ? ? ?3、解決方案:描述如何解決問題
? ? ? ?4、效果:描述應用模式后的效果,以及可能帶來的問題
單例模式:
適用的環境:只需要有一個對象,且該對象有類自己創建,提供全局的訪問。
解決問題:一個全局使用的類頻繁地創建與銷毀;
有很多種寫法,推薦適用內部類的方式實現:
java ? 靜態內部類 ?實現單例模式
java ?懶漢模式 ?實現單例模式
Kotlin ?靜態內部類 ?實現單例模式
xxx.java 內使用kotlin單例模式