官术网_书友最值得收藏!

2.1.2 模式結構

當我們希望成組替換生成的產品的時候,可以考慮使用抽象工廠模式。抽象工廠模式類如圖2-4所示。

圖2-4 抽象工廠模式類圖

抽象工廠類AbstractFactory用來定義工廠類的接口。在Python語言中這個類并不是必須定義的,只要在需要實現共通功能的時候定義即可,這樣可以提高代碼的復用性。

具象工廠類(ConcreteFactory1或者ConcreteFactory2)負責根據擴展的需求構建一組實際的產品。為了明確類的職責,類名可以將Factory作為后綴。

和抽象工廠類的情況類似,Python語言中的抽象產品類ProductA、ProductB也不是必須定義的,只要每個工廠方法生成的產品類支持相同的操作即可(Python語言稱這種情況為Protocol),這一點和模板有些類似。

具象產品類(ConcreteProductA1、ConcreteProductA2、ConcreteProductB1、ConcreteProductB2)遵從抽象產品類的約定并實現自己的功能。PyExecutor中和具象產品類相對應的是通用功能模塊邏輯和小家電控制邏輯中的各種功能模塊及連接線。

主站蜘蛛池模板: 舞钢市| 芮城县| 天峨县| 济源市| 阿拉善左旗| 维西| 万源市| 普洱| 怀仁县| 灵宝市| 丽江市| 棋牌| 大埔区| 南阳市| 渑池县| 阜宁县| 浦东新区| 萍乡市| 黎川县| 鹤岗市| 柳林县| 建昌县| 南康市| 宣武区| 洪江市| 南川市| 仪征市| 易门县| 开平市| 北京市| 蕲春县| 乌兰察布市| 菏泽市| 抚宁县| 连州市| 沁源县| 雷州市| 兴业县| 锦州市| 合阳县| 桑植县|