你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS設計模式學習(6)生成器

IOS設計模式學習(6)生成器

編輯:IOS開發綜合

1 前言
有時候,構建某些對象有多種不同方式。如果這些邏輯包含在構建這些對象的類中的單一方法中,構建的邏輯會非常荒唐(例如,針對各種構建需求的一大片嵌套if-else或者switch-case語句)。如果能把構建過程分解為:客戶-指導者-生成器(client-director-builder)的關系,那麼過程將更容易管理與復用。針對此類關系的設計模式成為生成器。

2 詳述
2.1 簡述
除了客戶和所需要的產品,生成器模式包含連個角色:Director(指導者)和Builder(生成器)。Builder知道如何在缺少某些特定信息來建造特點產品。Director知道Builder應該如何建造什麼,以參數向其提供缺少的信息來建造特定產品。

生成器模式講一個復雜對象的構建與它的表現分離,使得同樣的構建過程可以創建不同的表現。

2.2 何時使用
(1)需要創建涉及各種部件的復雜對象。創建對象的算法應該獨立於部件的裝配方式。常見的例子是構建組合對象。

(2)構建過程需要以不同的方式(例如,部件或表現的不同組合)構建對象。

2.3 生成器與抽象工廠的對比
(1)生成器構建復雜對象,抽象工廠構建簡單或者復雜對象;

(2)生成器以多個步驟構建對象,抽象工廠以單一步驟構建對象;

(3)生成器以多種方式構建對象昂,抽象工廠以單一步驟構建對象;

(4)生成器在構建過程的最後一步返回產品,抽象工廠立刻返回產品;

(5)生成器專注一個特定產品,抽象工廠強調一套產品。

3 結語
生成器模式能幫助構建涉及部件與表現的各種組件的對象。

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

 

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