工廠模式
工廠模式屬於創建模式列表類別。它提供了創建對象的最佳方法。 在工廠模式中,創建對象時不會將邏輯公開給客戶端,並使用通用接口引用新創建的對象。
工廠模式使用工廠方法在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()
Button
類有助於創建html標籤和關聯的html頁面。 客戶端將無法訪問代碼的邏輯,只輸出表示創建html頁面。
執行上面示例代碼,得到以下結果 -
說明:python代碼包含html標籤的邏輯,這是指定的值。 最終用戶可以查看由Python代碼創建的HTML文件。