python 簡單工廠模式

2022-03-16 10:57:32 字數 1075 閱讀 5844

abc 是抽象類模組

abc.abc 是繼承抽象類  也可直接繼承 (metaclass=abcmeta)

abc.abstractmethod 是定義抽象方法

簡單工廠模式:通過介面建立物件,但不會暴露物件建立邏輯

在設計模式中主要用於抽象物件的建立過程,讓使用者可以指定自己想要的物件而不必關心物件的例項化過程。

這樣做的好處是使用者只需通過固定的介面而不是直接去呼叫類的例項化方法來獲得乙個物件的例項,隱藏了例項建立過程的複雜度,

解耦了生產例項和使用例項的**,降低了維護的複雜性。

http請求共6種(get,post,put,delete,options,head),現在我們用工廠模式來生成不同的請求物件.

import

abcclass

method(abc.abc):

@abc.abstractmethod

defrequest(self, url):

pass

class

get(method):

defrequest(self, url):

print("

" %url)

class

post(method):

defrequest(self, url):

print("

" %url)

class

delete(method):

defrequest(self, url):

print("

" %url)

#生產物件

class

methodfactory:

def create(self, method_name) ->method:

return eval(method_name)()

if__name__ == '

__main__':

factory =methodfactory()

method = factory.create('

get'

) get = method.request('

')

Python簡單工廠模式

簡單工廠屬於類的創新性模式,又叫靜態工廠方法模式。是專門通過定義乙個類來負責建立其他類的例項,被建立的例項通常都具有相同的父類。模式特點 工廠工具條件產生不同功能的類。簡單工廠的組成要素 負責具體產品物件的建立工作,是該模式的核心。當場景比較負責的時候,可能需要 乙個工廠類來負責產品的建立。以及產品...

python簡單工廠模式

簡單工廠模式相當於是乙個4s店中有各種汽車,建立在乙個類中,客戶無需知道具體汽車型號,只需要知道汽車類所對應的引數即可。但是工廠的職責過重,而且當型別過多時不利於系統的擴充套件維護。現代汽車4s店類 class carstore object 示例方法 建立工廠返回工廠物件引用 def init s...

Python 設計模式 簡單工廠模式

簡單工廠模式,作為oo 乙個較為簡單的建立者設計模式。其主要思想,通過介面或繼承建立 不同的子類。現在乙個dom解析器作為父類,其中xml,soup 分別作為兩個不同解析方式,作為子類。vechicl 的建立 如下 1 外部依賴的介面,它遮蔽了我具體使用的第三方庫 2class omtree 3de...