我在幾個小時內參加了一次考試,並且正在嘗試爲它解決示例問題。我無法找到解決以下問題的解決方案。策略模式的UML類圖
繪製對應於以下情況的類圖:
甲雜貨店(例如一個超市)出售的項目。有兩種類型的食物:食用 (即任何可以用作食物的食物)和不可食用的食物。有些產品按重量銷售, ,有些產品按單位銷售。有些項目是應稅的,有些則不是。有些項目 以小組形式出售時有特價(例如,2美元爲3美元)。購買可能包含許多 項目。
在類圖中,只顯示類/抽象類/接口,關聯 和多重性的關聯。不包括任何操作!在設計中清楚地指出接口和抽象類(如果有的話) 。
此外,您的設計應儘可能爲 flexible。特別是,你需要 要注意以下幾點:
1)項或者是食用與否,這一事實的 項目的生命週期內不會改變,而定價策略可以在有效期內發生變化的項目。
2)每個定價策略與一組特定的操作相關聯。例如, 的稅收策略,一個項目是否是納稅,我們可能有一個計算稅收的操作 雖然集(該功能可用於非應稅項目則返回0)
3)定價策略的操作保持不變,這些操作的處理方式可能隨時間而改變。例如,我們計算可食用和非可食用物品稅的方法可能會隨時間而有所不同。
4)雖然定價策略的操作集在不同的 項目中保持不變,但我們可能希望以不同的方式針對不同的 項目實施這些操作。例如,我們可能想要爲橙子和蘋果計算稅額。
我想是這樣的想法,它可能適合於戰略設計模式,但我不知道的。
有這個問題還是相關的,你也可以關閉的問題?我認爲很多觀看這個問題的人質疑你需要得到答案嗎?向你提出這個問題並不意味着我會回答這個問題。我的主要動機是另一個好奇心:你的考試怎麼樣? – 2013-05-27 22:07:18
這不是那麼糟糕,我得到了80/100。對於這個問題,實際上我仍然不知道確切的答案。 – 2013-05-27 22:12:13
祝賀你的考試!如果你仍然想要一個答案,那麼你可能會改變這個問題。這可能有幫助。 – 2013-05-27 22:45:57