《設計模式》學習&理解&總結
阿新 • • 發佈:2018-11-29
教程地址:http://www.runoob.com/design-pattern/design-pattern-tutorial.html
教程書籍:《Android 設計模式解析與實戰》
1. 單例模式
關鍵字:singleton
使用目的:單例模式主要就是為了保證當前系統中只存在一個例項,供不同的地方呼叫。
使用情景:當一個物件的產生需要較多資源(如讀取配置、產生其他依賴物件),且建立和銷燬的效能又無法優化時。
Android 使用例項:Universal-Image-Loader。
2. 原型模式
關鍵字:Cloneable、深拷貝&淺拷貝
使用目的:使用原型例項建立物件的種類,並通過複製這些原型建立新的物件。
使用場景:1. 類初始化需要非常多的資源,這些資源包括資料、硬體等資源,通過原型複製可以避免這些消耗 2. 通過new建立一個物件需要非常繁瑣的資料準備或者許可權訪問,這時可以使用原型模式 3.一個物件需要給其他物件訪問,且各個呼叫這可能修改其值的時候,可以通過原型模式複製多個物件供呼叫者使用,即保護性拷貝。
Android 使用例項:Intent
3. 建造者模式
關鍵詞:Builder
使用目的:將複雜物件的構建和表示分離。
使用場景:1. 需要相同方法不同執行順序,產生的結果不同時。 2. 設計的產品類非常複雜,或者產品類中的呼叫順序不同產生了不同的作用時。3. 當一個物件非常複雜,引數眾多,且很多引數都有預設值的時候。
Android 使用例項: AlertDialog、Universal-Image-Loader 的 ImageLoaderConfig 配置。
4. 工廠模式
使用目的:定義一個建立物件的介面,讓其子類自己決定例項化哪一個工廠類,工廠模式使其建立過程延遲到子類進行。
使用場景:
Android 使用例項:
5. 抽象工廠模式
使用目的:
使用場景:
Android 使用例項:
努力完善中.....