- 實戰Python設計模式:可復用面向對象軟件開發實踐
- 薛衛國 薛衛民
- 331字
- 2020-04-09 16:57:40
2.1.2 模式結構
當我們希望成組替換生成的產品的時候,可以考慮使用抽象工廠模式。抽象工廠模式類如圖2-4所示。

圖2-4 抽象工廠模式類圖
抽象工廠類AbstractFactory用來定義工廠類的接口。在Python語言中這個類并不是必須定義的,只要在需要實現共通功能的時候定義即可,這樣可以提高代碼的復用性。
具象工廠類(ConcreteFactory1或者ConcreteFactory2)負責根據擴展的需求構建一組實際的產品。為了明確類的職責,類名可以將Factory作為后綴。
和抽象工廠類的情況類似,Python語言中的抽象產品類ProductA、ProductB也不是必須定義的,只要每個工廠方法生成的產品類支持相同的操作即可(Python語言稱這種情況為Protocol),這一點和模板有些類似。
具象產品類(ConcreteProductA1、ConcreteProductA2、ConcreteProductB1、ConcreteProductB2)遵從抽象產品類的約定并實現自己的功能。PyExecutor中和具象產品類相對應的是通用功能模塊邏輯和小家電控制邏輯中的各種功能模塊及連接線。
推薦閱讀
- C# 7 and .NET Core Cookbook
- Spring Cloud Alibaba微服務架構設計與開發實戰
- Python量化投資指南:基礎、數據與實戰
- Python爬蟲開發:從入門到實戰(微課版)
- 樂高機器人設計技巧:EV3結構設計與編程指導
- PostgreSQL Replication(Second Edition)
- INSTANT Passbook App Development for iOS How-to
- 劍指大數據:企業級數據倉庫項目實戰(在線教育版)
- Machine Learning in Java
- Node Cookbook(Second Edition)
- Python青少年趣味編程
- SwiftUI極簡開發
- 黑莓(BlackBerry)開發從入門到精通
- Tableau Dashboard Cookbook
- AI輔助編程Python實戰:基于GitHub Copilot和ChatGPT