熱門(mén)關(guān)鍵詞: 紙貨架批發(fā) 高檔禮品盒定制 紙貨架廠家 促銷(xiāo)包裝
本篇是 Python與設(shè)計(jì)模式系列第一篇:策略模式
。
完成一項(xiàng)任務(wù)往往有多種方式,我們將其稱(chēng)之為策略。
比如,超市做活動(dòng),如果你的購(gòu)物積分滿(mǎn)1000,就可以?xún)稉Q現(xiàn)金抵用券抵用10元,如果購(gòu)買(mǎi)同一商品滿(mǎn)10件,就可以打9折,如果購(gòu)買(mǎi)的金額超過(guò)500,就可以享受滿(mǎn)減50元的優(yōu)惠。這是三個(gè)不同的促銷(xiāo)策略。
再比如,聯(lián)系朋友、同學(xué),可以打電話(huà),也可以發(fā)短信,可以發(fā)微信,也可以發(fā)郵件,這是四個(gè)不同的聯(lián)系策略。
再比如,去外出旅游,我們可以選擇火車(chē),也可以選擇公共汽車(chē),可以選擇飛機(jī),也可以選擇自駕游。這又是四個(gè)不同的出行策略。
以上這些真實(shí)場(chǎng)景,都有策略選擇模型的影子,可以考慮使用策略模式。
經(jīng)典的策略模式,是由三部分組成
Context:上下文環(huán)境類(lèi)
Context:Order類(lèi),訂單信息,包括商品,價(jià)格和數(shù)量,還有購(gòu)買(mǎi)者等
Stragety:Promotion類(lèi),抽象基類(lèi),包含一個(gè)抽象方法(計(jì)算折扣)
ContreteStragety:分三個(gè)類(lèi),F(xiàn)idelityPromo,BulkItemPromo,LargeOrderPromo,實(shí)現(xiàn)具體的折扣計(jì)算方法。
Stragety:策略基類(lèi)
ConcreteStragety:具體策略
咨詢(xún)熱線
18125323067