
- Python 設計模式教程
- Python 設計模式 - 首頁
- 簡介
- Python 設計模式 - 要點
- 模型-檢視-控制器模式
- Python 設計模式 - 單例模式
- Python 設計模式 - 工廠模式
- Python 設計模式 - 建造者模式
- Python 設計模式 - 原型模式
- Python 設計模式 - 外觀模式
- Python 設計模式 - 命令模式
- Python 設計模式 - 介面卡模式
- Python 設計模式 - 裝飾器模式
- Python 設計模式 - 代理模式
- 責任鏈模式
- Python 設計模式 - 觀察者模式
- Python 設計模式 - 狀態模式
- Python 設計模式 - 策略模式
- Python 設計模式 - 模板模式
- Python 設計模式 - 享元模式
- 抽象工廠模式
- 面向物件
- 面向物件概念實現
- Python 設計模式 - 迭代器模式
- 字典
- 列表資料結構
- Python 設計模式 - 集合
- Python 設計模式 - 佇列
- 字串 & 序列化
- Python 中的併發
- Python 設計模式 - 反模式
- 異常處理
- Python 設計模式資源
- 快速指南
- Python 設計模式 - 資源
- 討論
Python 設計模式 - 工廠模式
工廠模式屬於建立型模式類別。它提供了一種建立物件的最優方式。在工廠模式中,物件是在不向客戶端公開邏輯的情況下建立的,並且使用通用介面來引用新建立的物件。
工廠模式在 Python 中使用工廠方法實現。當用戶呼叫一個方法,例如傳入一個字串,返回值作為新物件,則透過工廠方法實現。工廠方法中使用的物件型別由透過方法傳入的字串決定。
在下面的示例中,每個方法都包含物件作為引數,這是透過工廠方法實現的。
如何實現工廠模式?
現在讓我們看看如何實現工廠模式。
class Button(object): html = "" def get_html(self): return self.html class Image(Button): html = "<img></img>" class Input(Button): html = "<input></input>" class Flash(Button): html = "<obj></obj>" class ButtonFactory(): def create_button(self, typ): targetclass = typ.capitalize() return globals()[targetclass]() button_obj = ButtonFactory() button = ['image', 'input', 'flash'] for b in button: print button_obj.create_button(b).get_html()
按鈕類有助於建立 HTML 標籤和關聯的 HTML 頁面。客戶端將無法訪問程式碼邏輯,輸出表示 HTML 頁面的建立。
輸出

解釋
Python 程式碼包含 HTML 標籤的邏輯,其中指定了值。終端使用者可以檢視 Python 程式碼建立的 HTML 檔案。
廣告