摘要:子類,工廠子類,調(diào)用工廠子類需要抽象類定義子類模式,工廠類需要定義抽象類規(guī)范模式。類的功能要單一,每個(gè)只做一種功能,管理一類數(shù)據(jù),定義要不怕多,通過上級(jí)管理起來(lái)提升所有的子,工廠,需要定義抽象類,規(guī)范格式。
1.子類 class, 工廠子類class, 調(diào)用工廠class 2.子類需要抽象類定義子類模式, 工廠類需要定義抽象類規(guī)范模式。 每一個(gè)工廠類管理 管理類管理工廠類。 3.應(yīng)用:最復(fù)雜的模式:一個(gè)接口有很多的調(diào)用實(shí)例, 調(diào)用實(shí)例可以分為不同情況,不> > 同的工廠進(jìn)行管理。4.總起來(lái)看,出口要簡(jiǎn)潔統(tǒng)一,內(nèi)部分別管理。
class類的功能要單一,每個(gè)只做一種功能,管理一類數(shù)據(jù),定義class要不怕>多,通過上級(jí)管理起來(lái)
5.提升:所有的子class,工廠class,需要定義抽象類,規(guī)范格式。
import random """ """ class Dog: def speak(self): return "whoof" def __str__(self): return "dog" class Cat: def speak(self): return "meow" def __str__(self): return "cat" class DogFactory: def get_pet(self): return Dog() def get_food(self): return "dog food" class CatFactory: def get_pet(self): return Cat() def get_food(self): return "cat food" class PetFactory: def __init__(self,pet_factory=None): self.pet_factory=pet_factory def show_pet(self): pet=self.pet_factory.get_pet() print("This is a lovely", pet) print("speak ==>",pet.speak()) print("get_food==>",self.pet_factory.get_food()) # Show pets with various factories def get_factory(): """Let"s be dynamic!""" return random.choice([DogFactory, CatFactory])() shop = PetFactory() for i in range(3): shop.pet_factory = get_factory() shop.show_pet() print("=" * 10)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44933.html
摘要:基于工廠角色和產(chǎn)品角色的多態(tài)性設(shè)計(jì)是工廠方法模式的關(guān)鍵。工廠方法模式之所以又被稱為多態(tài)工廠模式,是因?yàn)樗械木唧w工廠類都具有同一抽象父類。工廠方法模式總結(jié)工廠方法模式是簡(jiǎn)單工廠模式的進(jìn)一步抽象和推廣。 JavaScript工廠模式 首先需要說一下工廠模式。工廠模式根據(jù)抽象程度的不同分為三種 簡(jiǎn)單工廠模式 工廠方法模式 抽象工廠模式 1.簡(jiǎn)單工廠模式 簡(jiǎn)單工廠模式:又稱為靜態(tài)工廠方法...
摘要:抽象工廠模式可以向客戶端提供一個(gè)接口,使客戶端在不必指定產(chǎn)品的具體的情況下,創(chuàng)建多個(gè)產(chǎn)品族中的產(chǎn)品對(duì)象。前邊的兩個(gè)都是直接生產(chǎn)實(shí)例的,開始以為抽象工廠也是但是后來(lái)發(fā)現(xiàn)抽象工廠更像是生產(chǎn)工廠,其實(shí)抽象工廠其實(shí)是實(shí)現(xiàn)子類繼承父類的方法。 創(chuàng)建型模式 創(chuàng)建型模式是對(duì)一個(gè)類的實(shí)例化過程進(jìn)行了抽象,把對(duì)象的創(chuàng)建和對(duì)象的使用進(jìn)行了分離 上一篇介紹了下單例模式,這一篇介紹一下工廠模式和抽象工廠模式,...
摘要:反射提供給面向?qū)ο缶幊炭梢宰允〉哪芰Γ捶瓷?。在?jiǎn)單工廠模式中,根據(jù)傳遞的參數(shù)來(lái)返回不同的類的實(shí)例簡(jiǎn)單工廠模式又稱為靜態(tài)工廠方法模式。也就是簡(jiǎn)單工廠模式工廠工廠類。PHP高級(jí)特性-反射以及工廠設(shè)計(jì)模式的結(jié)合使用 [結(jié)合 Laravel-Admin 代碼實(shí)例講解]利用反射來(lái)實(shí)現(xiàn)工廠模式的生產(chǎn)而無(wú)需創(chuàng)建特定的工廠類本文地址http://janrs.com/?p=833轉(zhuǎn)載無(wú)需經(jīng)過作者本人授權(quán)轉(zhuǎn)載...
摘要:抽象工廠模式是為了處理對(duì)象具有等級(jí)結(jié)構(gòu)以及對(duì)象族的問題。單例設(shè)計(jì)模式單例模式確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例,這個(gè)類成為單例類。 導(dǎo)語(yǔ):設(shè)計(jì)模式是無(wú)數(shù)碼農(nóng)前人在實(shí)際的生產(chǎn)項(xiàng)目中經(jīng)過不斷的踩坑、爬坑、修坑的經(jīng)歷總結(jié)出來(lái)的經(jīng)驗(yàn)教訓(xùn),經(jīng)過抽象之后表達(dá)成的概念。能夠幫助后來(lái)的設(shè)計(jì)者避免重復(fù)同樣的錯(cuò)誤或者彎路。我也抽空整理了一下設(shè)計(jì)模式,用自己的話總結(jié)了一下,自認(rèn)...
摘要:支持增加任意產(chǎn)品抽象工廠用來(lái)生產(chǎn)不同產(chǎn)品族的全部產(chǎn)品。對(duì)于增加新的產(chǎn)品,無(wú)能為力支持增加產(chǎn)品族參考系列源地址系列目錄設(shè)計(jì)模式概述設(shè)計(jì)模式一簡(jiǎn)單工廠模式設(shè)計(jì)模式二工廠方法模式設(shè)計(jì)模式三抽象工廠模式設(shè)計(jì)模式四單例模式 一、什么是抽象工廠模式 抽象工廠模式的用意為:給客戶端提供一個(gè)接口,可以創(chuàng)建多個(gè)產(chǎn)品族中的產(chǎn)品對(duì)象 ,而且使用抽象工廠模式還要滿足以下條件: 系統(tǒng)中有多個(gè)產(chǎn)品族,而系統(tǒng)一次...
閱讀 777·2023-04-25 15:13
閱讀 1399·2021-11-22 12:03
閱讀 826·2021-11-19 09:40
閱讀 1910·2021-11-17 09:38
閱讀 1714·2021-11-08 13:18
閱讀 655·2021-09-02 15:15
閱讀 1768·2019-08-30 15:54
閱讀 2636·2019-08-30 11:12