freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第八講設(shè)計模式(編輯修改稿)

2024-11-03 13:25 本頁面
 

【文章內(nèi)容簡介】 10%的折扣,后期可能會對超出 200元的銷售給予 10%的折扣,并且還會存在其他大量變化。我們?nèi)绾螌@些各種各樣的定價算法進行設(shè)計? 策略( GoF) ? 名稱:策略( Strategy) ? 問題:如何設(shè)計變化但相關(guān)的算法或政策?如何設(shè)計才能是這些算法或政策具有可變更的能力? ? 解決方案(建議):在單獨的類中分別定義每種算法 /政策 /策略,并且使其具有共同接口。 策略( GoF) 定價策略類 策略( GoF) 協(xié)作中的策略 策略( GoF) 語境對象需要其策略的屬性可視性 使用工廠創(chuàng)建策略 創(chuàng)建策略 工廠 總結(jié) ? 對于動態(tài)變化的定價策略的防止變異可以通過策略和工廠模式實現(xiàn)。建立在多態(tài)和接口基礎(chǔ)上的策略可以實現(xiàn)具有可插拔的對象設(shè)計 組合( Composite) GoF ? 問題:我們?nèi)绾蝸硖幚矶鄠€互相沖突的定價策略?例如商店在今天(星期一)有效的政策有: ? 對老年人有 20%的折扣政策 ? 對于購物金額滿 400元的優(yōu)先客戶給予折 15%的折扣 ? 在星期一,購物金額滿 500美元享受 50元的折扣 ? 買一罐咖啡,則所有購物物品都享受 15%的折扣 假設(shè)一個老年人同時也是優(yōu)先客戶,他買了一罐咖啡和600元的物品。此時應(yīng)該適用哪個定價政策? 組合( GoF ) ? 名稱:組合( Composite) ? 問題:如何能夠像處理非組合(原子)對象一樣,(多態(tài)地)處理一組對象或具有組合結(jié)構(gòu)的對象呢? ? 解決方案(建議):定義組合和原子對象的類,使它們實現(xiàn)相同的接口 組合( GoF ) 示例 組合模式 組合( GoF ) 示例 與組合的協(xié)作 創(chuàng)建多個 SalePricingStrategies ? 使用組合模式,我們使一組多個(有沖突)的定價策略對于 Sale對象來說與單個定價策略一樣。包含該組的組合對象也實現(xiàn)了 ISalePricingStrategy接口。對于該設(shè)計問題更具有挑戰(zhàn)性(并且更有趣)的部分是:我們什么時候創(chuàng)建這些策略? 創(chuàng)建多個 SalePricingStrategies ? 良好的設(shè)計應(yīng)該在開始時為商店創(chuàng)建一個包含當(dāng)前所有折扣政策(如果沒有有效折扣,可以設(shè)為 0%)的組合,例如某個PercentageDiscountPricingStrategy。然后,如果在該場景的下一步中,發(fā)現(xiàn)還需要應(yīng)用另一個定價策略(例如老年人折扣),此時通過使用繼承來的 ,能夠輕松地在組合中增加這一策略。 ? 在該場景中,可能有三個地方需要在組合中增加策略: ? 商店當(dāng)前定義的折扣,在創(chuàng)建銷售時增加 ? 顧客類型折扣,在 POS獲知顧客類型時增加 ? 產(chǎn)品類型折扣(如果購買一罐咖啡,則所有購物物品都享受 15%的折扣),在向銷售輸入該產(chǎn)品條目時增加 創(chuàng)建多個 SalePricingStrategies 創(chuàng)建組合策略 第二種顧客類型折扣 為客戶折扣創(chuàng)建定價策略(第一部分) 為客戶折扣創(chuàng)建定價策略(第二部分) 外觀( Fa231。ade) GoF 問題: ? 假設(shè)創(chuàng)建新銷售時,可能要識別該銷售是否以禮券方式進行支付(這是可能并且普遍的做法)。然后,商店可能會規(guī)定如果使用禮券只可以購買一件商品。此時, enterItem在完成第一次操作后應(yīng)該變?yōu)闊o效。 ? 如果銷售使用禮券支付,在對該顧客找零時,除了禮券之外所有其他支付類型的找零都應(yīng)該置為無效。例如,如果收銀員請求現(xiàn)金找零或更新顧客在其商店帳戶上的積分時,這些請求都應(yīng)該被判斷為無效。 ? 假設(shè)創(chuàng)建新銷售時,可以識別其為慈善捐助(從商店到慈善機構(gòu))。商店可能會規(guī)定每次輸入的條目價值只能低于 250元,并且只有當(dāng)前登錄者為經(jīng)理時才允許對該銷售添加條目。 外觀( GoF) ? 名稱:外觀( Fa231。ade) ? 問題:對一組完全不同的實現(xiàn)或接口(例如子系統(tǒng)中的實現(xiàn)和接口)需要公共統(tǒng)一的接口??赡軙c子系統(tǒng)內(nèi)部的大量事物產(chǎn)生耦合,或者子系統(tǒng)的實現(xiàn)可能會改變。怎么辦? ? 解決方案(建議):對子系統(tǒng)定義唯一的接觸點 — 使用外觀對象封裝子系統(tǒng)。該外觀對象提供了唯一和統(tǒng)一的接口,并負責(zé)與子系統(tǒng)構(gòu)件進行協(xié)作 外觀( GoF) 具有外觀的 UML包圖 外觀 總結(jié) ? 外觀模式很簡單并且應(yīng)用廣泛。它將子系統(tǒng)隱藏在一個對象之后。 ? 外觀通常通過單例
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1