日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

淺析Python 抽象工廠模式的優(yōu)缺點(diǎn)

瀏覽:29日期:2022-07-17 16:35:38

前言

接著上一篇的故事工廠模式繼續(xù),手機(jī)要出廠,顯然光一個(gè)手機(jī)肯定是不行的,還需要包裝盒、充電器等等東西。我們按照上一篇提到的工廠模式,去建立新的工廠是一點(diǎn)都沒有問題的。但是思考一下這樣子做會(huì)帶來的問題,顯然工廠太多了,將包裝盒、充電器全部分散到各個(gè)工廠,組裝什么的也是一個(gè)大問題,那么有沒有更好的辦法呢?答案是肯定的,抽象工廠模式。

抽象工廠意圖

提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無需制定它們具體的累。

別名

Kit

案例

第三階段

光生產(chǎn)手機(jī)遠(yuǎn)遠(yuǎn)不夠,還需要生產(chǎn)其他配件,分散到新的工廠成本太高,也不利于維護(hù),那就把一個(gè)類型的手機(jī)所需要的所有東西,都放到一個(gè)工廠完成,小米工廠生產(chǎn)小米手機(jī)以及小米手機(jī)配套的東西,蘋果手機(jī)生產(chǎn)蘋果手機(jī)以及蘋果手機(jī)配套的東西,客戶只需要關(guān)心要什么手機(jī)就行了。

第三階段 UML 圖

讓我們借助 UML 圖直觀了解一下這個(gè)時(shí)候工廠的樣子

淺析Python 抽象工廠模式的優(yōu)缺點(diǎn)

第三階段代碼

通過代碼去實(shí)現(xiàn)這個(gè)邏輯

from abc import ABC, abstractmethod# 抽象手機(jī) class AbstractMobile(ABC): @abstractmethod def make(self): passclass XiaoMiMobile(AbstractMobile): def make(self): print('make xiaomi mobile') class AppleMobile(AbstractMobile): def make(self): print('make apple mobile')# 抽象手機(jī)配件class AbstractOthers(ABC): @abstractmethod def make(self): passclass XiaoMiOthers(AbstractMobile): def make(self): print('make xiaomi others') class AppleOthers(AbstractMobile): def make(self): print('make apple others')# 抽象工廠class AbstractFactory(ABC): @abstractmethod def create_mobile(self) -> AbstractMobile: pass @abstractmethod def create_others(self) -> AbstractOthers: passclass XiaoMiFactory(AbstractFactory): def create_mobile(self) -> XiaoMiMobile: return XiaoMiMobile().make() def create_others(self) -> XiaoMiOthers: return XiaoMiOthers().make()class AppleFactory(AbstractFactory): def create_mobile(self) -> AppleMobile: return AppleMobile().make() def create_others(self) -> AppleOthers: return AppleOthers().make() def client(factory: AbstractFactory) -> None: product_mobile = factory.create_mobile() product_others = factory.create_others() if __name__ == '__main__': client(XiaoMiFactory()) client(AppleFactory())

看一下運(yùn)行結(jié)果:

make xiaomi mobilemake xiaomi othersmake apple mobilemake apple others

總結(jié)

如果代碼需要與多個(gè)不同系列的相關(guān)產(chǎn)品交互, 但是由于無法提前獲取相關(guān)信息, 或者出于對(duì)未來擴(kuò)展性的考慮, 你不希望代碼基于產(chǎn)品的具體類進(jìn)行構(gòu)建, 在這種情況下, 你可以使用抽象工廠。在設(shè)計(jì)良好的程序中, 每個(gè)類僅負(fù)責(zé)一件事。 如果一個(gè)類與多種類型產(chǎn)品交互, 就可以考慮將工廠方法抽取到獨(dú)立的工廠類或具備完整功能的抽象工廠類中。

抽象工廠的優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

你可以確保同一工廠生成的產(chǎn)品相互匹配。 你可以避免客戶端和具體產(chǎn)品代碼的耦合。 單一職責(zé)原則。 你可以將產(chǎn)品生成代碼抽取到同一位置, 使得代碼易于維護(hù)。 開閉原則。 向應(yīng)用程序中引入新產(chǎn)品變體時(shí), 你無需修改客戶端代碼

缺點(diǎn)

由于采用該模式需要向應(yīng)用中引入眾多接口和類, 代碼可能會(huì)比之前更加復(fù)雜,即產(chǎn)品族擴(kuò)展非常困難

以上就是淺析Python 抽象工廠模式的優(yōu)缺點(diǎn)的詳細(xì)內(nèi)容,更多關(guān)于Python 抽象工廠模式的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品老牛| 四虎精品永久免费| 欧美影院三区| 91九色精品国产一区二区| 精品一区二区三区亚洲| 欧美日韩中出| 国产欧美午夜| 国产精品99精品一区二区三区∴ | 91久久久精品国产| 中文字幕成在线观看| 国内揄拍国内精品久久| 欧美日韩激情| 国产伦精品一区二区三区千人斩| 成人精品久久| 欧美国产一级| 青青青免费在线视频| 久久黄色影院| 欧美成人亚洲| 欧美亚洲人成在线| 精品日产乱码久久久久久仙踪林| 欧美激情三区| 丁香婷婷久久| 日韩中文在线播放| 亚洲福利久久| 中文精品电影| 国产精品毛片视频| 欧美国产免费| 久久久一本精品| 久久高清国产| 国产欧美一区二区精品久久久| 国产精品videossex| 精品国产一区二区三区2021| 精品国产午夜肉伦伦影院| 日韩在线欧美| 麻豆精品网站| 国产精品毛片aⅴ一区二区三区| 成人在线视频区| 四虎4545www国产精品 | 国产v日韩v欧美v| 欧美午夜精彩| 亚洲有吗中文字幕| 久久一区国产| 国产专区一区| 亚洲精品极品| 福利一区视频| 国产亚洲一级| 国产精品视频一区二区三区| 日韩欧美一区免费| 一区二区国产精品| 卡一卡二国产精品| 国产综合色区在线观看| 夜久久久久久| 国产精品.xx视频.xxtv| 成人久久一区| 日本不卡一二三区黄网| 久久久久久夜| 亚洲欧美日韩视频二区| 欧美日本精品| 国产99亚洲| 国产欧美日韩视频在线| 亚洲www免费| 日韩欧美中文字幕一区二区三区| 精品视频国内| 爽好多水快深点欧美视频| 黄色欧美在线| 国产精品美女久久久| 国产精品白浆| 久久亚洲风情| 成人在线视频免费| 视频精品一区| 久久久久蜜桃| 国产精品一在线观看| 不卡中文字幕| 高清久久精品| 日韩二区在线观看| 欧美日韩激情| 精品久久久亚洲| 亚洲一区欧美| 三上悠亚国产精品一区二区三区| 日韩成人午夜精品| 另类中文字幕国产精品| 97精品国产99久久久久久免费| 快播电影网址老女人久久| 国产精品亚洲综合久久| 午夜欧美在线| av最新在线| 国产精品66| 中文字幕亚洲影视| 国产一在线精品一区在线观看| 久久不见久久见国语| 在线精品福利| 久久中文字幕av| 国产成人精品一区二区三区免费| 青青草国产成人99久久| 合欧美一区二区三区| 精品久久影院| 国产色99精品9i| 日韩欧美2区| 在线视频日韩| 亚洲日本网址| 美女av在线免费看| 麻豆久久久久久| 日韩avvvv在线播放| 尹人成人综合网| 日韩理论片av| 91综合网人人| 久久精品一区| 国产精选久久| 亚洲精品无播放器在线播放| 欧美不卡在线| 日韩大片免费观看| 国产精品天天看天天狠| 91欧美极品| 午夜久久av| 日韩精品一卡二卡三卡四卡无卡| 国产一区欧美| 欧美成人基地| 久久高清免费| av亚洲一区二区三区| 国产精品精品| 国产福利片在线观看| 国产一区二区三区天码| 加勒比视频一区| 美女久久99| 久久免费精品| 鲁大师精品99久久久| 国产精品一区高清| 国产精品久久久久久久久久久久久久久 | 日韩精品欧美成人高清一区二区| 天堂成人国产精品一区| 婷婷综合亚洲| 亚洲一区黄色| 日韩精品亚洲专区在线观看| 亚洲18在线| 国产亚洲观看| 麻豆精品视频在线观看| 都市激情国产精品| 99久久久久| 91成人精品视频| 国产精品丝袜xxxxxxx| 亚洲欧洲专区| 久久黄色影视| 久久午夜影院| 久久蜜桃av| 日韩中文欧美在线| 婷婷综合国产| 国产精品天堂蜜av在线播放| 欧美激情另类| 1000部精品久久久久久久久| 99视频在线精品国自产拍免费观看| 国产精品人人爽人人做我的可爱| 亚洲欧美日本国产专区一区| 日韩一区二区三区免费视频| 日精品一区二区三区| 日韩高清不卡一区二区| 国产麻豆一区二区三区 | 777久久精品| 美女视频网站久久| 热三久草你在线| 国产亚洲毛片| 欧美日韩1区| 欧美一区久久久| 好吊视频一区二区三区四区| 日本综合视频| 成人三级高清视频在线看| 亚洲精品一区二区在线看| 视频在线观看国产精品| 香蕉久久久久久| 精品国产99| 天使萌一区二区三区免费观看| 日韩av在线免费观看不卡| 国产一区二区三区久久| 1000部精品久久久久久久久| 亚洲精品成人一区| 精品国产美女a久久9999| 激情欧美国产欧美| 日韩毛片网站| 久久电影tv| 亚洲精品日本| 日韩av自拍| 亚洲视频电影在线| 日韩av自拍| 视频在线观看国产精品| 久久精品免视看国产成人| 在线成人动漫av| 久久av免费| 奇米亚洲欧美| 欧美自拍一区| 日韩专区在线视频| 麻豆久久精品| 日韩三级久久| 日日夜夜免费精品视频| 欧美日韩激情在线一区二区三区| 欧美xxxx性| 欧美国产小视频| 亚洲伊人av| 国产一区二区高清| 男女男精品视频网| 视频一区中文字幕精品 | 青草av.久久免费一区|