本文主要介紹戰(zhàn)略模式和工廠模式的區(qū)別(戰(zhàn)略模式的應(yīng)用場(chǎng)景),下面一起看看戰(zhàn)略模式和工廠模式的區(qū)別(戰(zhàn)略模式的應(yīng)用場(chǎng)景)相關(guān)資訊。
網(wǎng)站參考:
refactoringguru . cn/design-patterns/strategy/python/example # lang-features
代碼參考:
定義一系列算法,封裝每一個(gè)算法,并使它們可以互換。策略讓算法獨(dú)立于使用它的客戶端而變化。 進(jìn)口abc級(jí)cont: 定義客戶感興趣的界面。維護(hù)對(duì)策略對(duì)象的引用。 d:自我。_strategy =戰(zhàn)略定義context_interfac:自我。_strategy.algorithm_interface類策略(元類=abc。abc m: 聲明一個(gè)所有支持的算法通用的接口。context使用這個(gè)接口來(lái)調(diào)用由concretestrat egy定義的算法。 @ abc . abstract method def algorithm_interfac: pass class concr: 使用策略接口實(shí)現(xiàn)算法。 def algorithm_interfac: pass class concr: 使用策略接口實(shí)現(xiàn)算法。 def algorithm_interfac: passd: concrete _ strategy a = concrete strategy acontext = context(concrete _ strategy a)context . context _ interfac: main
除了學(xué)習(xí)設(shè)計(jì)模式,我還學(xué)習(xí)了抽象基類:
1)類策略(metaclass = abc.abcmeta)抽象基類只能繼承,不能實(shí)例化。
2)@abc.abstractmethod當(dāng)這個(gè)decorator出現(xiàn)在抽象基類中時(shí),意味著子類中的這個(gè)方法必須被實(shí)現(xiàn)。
標(biāo)簽:
在抽象類中
了解更多戰(zhàn)略模式和工廠模式的區(qū)別(戰(zhàn)略模式的應(yīng)用場(chǎng)景)相關(guān)內(nèi)容請(qǐng)關(guān)注本站點(diǎn)。