設計模式(4) 抽象工廠模式

2021-07-25 04:43:06 字數 1339 閱讀 9095

工廠類雖然快捷方便和易於擴充套件,但是每乙個具體工廠類只能生產一類產品。如果需要多組的產品類,則系統中就會存在大量的工廠類,會增加系統資源的消耗。

抽象工廠模式就可以很好的解決這種問題。

1.抽象工廠模式概述:

—>抽象工廠模式為建立一組物件提供了一種解決方案。與工廠方法模式相比,抽象工廠模式中的具體工廠不只是建立一種產品,它負責建立一族產品。

如果現在有3個空間:button , textbox 和radiobox。 我們需要為它們設計兩種風格的**,如果使用工廠模式,我們就需要設計很多任務廠類。但如果我們使用抽象模式就只需要設計2個工廠類和乙個抽象工廠類即可。

1.定義控制項介面

public

inte***ce button

public

inte***ce textbox

public

inte***ce radiobox

2.實現這些空間的兩種風格:

public

class springbutton : button

}public

class summerbutton : button

}

public class springtextbox : textbox

}public class summertextbox : textbox

}public class springradiobox : radiobox

}public class summerradiobox : radiobox

}3.定義工廠介面:

public

inte***ce factory

4.實現兩種風格的工廠類:

public

class springfactory : factory

public textbox gettextbox()

public radiobox getradiobox()

}public

class summe***ctory : factory

public textbox gettextbox()

public radiobox getradiobox()

}

5.測試**:

static void main(string args)

總結:

—>雖然抽象工廠類可以很方便的建立一組產品族,但是如果再新增乙個新控制項就需要修改源**。

設計模式 4 抽象工廠模式

1.什麼是抽象工廠模式?1.什麼時候使用抽象工廠模式?系統的產品有多個產品族,而我們只需要消費其中某乙個產品族中的產品。什麼是產品族?以手機為例 3.如何實現抽象工廠模式?1 定義手機介面 定義 手機 介面 public inte ce phone 2 定義路由器介面 定義 路由器 介面 publi...

設計模式(4)抽象工廠模式

之前看到的兩個設計模式,都存在各自的缺陷,簡單工廠模式中,乙個工廠生產多個產品,根據客戶提供的產品名稱建立對應的產品例項 工廠方法設計模式,則在簡單工廠模式的工廠上,建立了許多個工廠類,根據客戶提供的產品名稱選擇可以生產對應產品的工廠進行生產。然而,很多時候,乙個工廠生產的產品並不單一,而是生產一類...

設計模式 工廠模式 抽象工廠模式

建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...