-1
A
回答
5
我會告訴你一個傳統的例子。想象一下你有一個UI庫。它具有不同UI組件的實現,如按鈕,滑塊,單選按鈕等。您還希望對這些組件有不同的外觀和感覺,例如銀色,黑色,淺色,類似窗口,gtk等。可以使用抽象類,這使得普通的東西爲從抽象繼承每個組件的創建和子類,並指定唯一的區別:
class AbstractComponentFactory {
public abstract Button createButton() {
//implementation
}
public abstract Slider createSlider() {
//implementation
}
}
class SilverComponentFactory extends AbstractFactory {
public Button createButton() {
Button b = base.createButton();
//customize the button
}
public Slider createSlider() {
Slider b = base.createSlider();
//customize the slider
}
}
class WindowsComponentFactory extends AbstractFactory {
public Button createButton() {
Button b = base.createButton();
//customize the button with windows look-and-feel
}
public Slider createSlider() {
Slider b = base.createSlider();
//customize the slider with windows look-and-feel
}
}
現在,如果你需要創建的組件,你可以動態改變的實施抽象工廠:
public void createUI(AbstractComponentFactory f) {
Button b = f.createButton();
Slider s = f.createSlider();
}
//..
createUI(new SilverComponentFactory());
Here是樣本類圖,我ho它並不那麼複雜。
相關問題
- 1. 抽象工廠設計模式c#
- 2. 抽象工廠設計模式 - C#
- 3. 設計模式 - 抽象工廠 - BombedMazeFactory
- 4. 工廠模式抽象工廠模式
- 5. 抽象工廠壞設計?
- 6. 工廠和抽象工廠模式
- 7. 抽象工廠模式
- 8. 抽象工廠模式
- 9. 抽象工廠模式
- 10. 在單元測試中使用工廠/抽象工廠設計模式
- 11. 抽象工廠設計模式的缺點是什麼?
- 12. 根據IoC和抽象工廠模式的類設計
- 13. 這是一個有效的抽象工廠設計模式嗎?
- 14. 具有默認實現的抽象工廠設計模式
- 15. 瞭解PHP的工廠設計模式
- 16. 工廠方法和抽象工廠設計模式有什麼區別?
- 17. 設計模式:抽象工廠和通用倉庫
- 18. 關於抽象工廠模式的undrestanding
- 19. 策略設計模式與抽象工廠模式有什麼區別?
- 20. 工廠模式設計
- 21. iOS工廠設計模式
- 22. DbProviderFactory ADO.Net中的抽象工廠和工廠模式?
- 23. 如何應用抽象工廠模式?
- 24. 抽象工廠模式和HikariCP
- 25. PHP抽象工廠模式實現
- 26. 與抽象工廠模式澄清後
- 27. MVC 3和抽象工廠模式
- 28. 何時使用抽象工廠模式?
- 29. 工廠方法設計模式中的工廠設計模式與目標c中的抽象工廠有什麼區別?
- 30. 抽象工廠
您是指抽象類還是抽象工廠模式? – tom
抽象工廠模式 – user1808932
@OP:您是否熟悉簡單工廠模式?抽象工廠(或多或少)是一個生成簡單工廠的簡單工廠,可以生成具體類:) – SWeko