1. 程式人生 > >《設計模式》學習&理解&總結

《設計模式》學習&理解&總結

教程地址: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 使用例項:

 

努力完善中.....