精華區beta OOAD 關於我們 聯絡資訊
^L10 《悟劍分析與設計王國》 ------------------------------------------------------------------------- 2008/10/30 您剛錄取「悟劍漢堡店」的軟體設計師,老闆要求您立即修改公司內的「結帳系統」 馬上開工的您一打開原始碼發現不得了,紊亂又複雜的繼承樹使得程式大而贅: ┌─────────────────────────────┐ │ 漢堡 │ └─────────────────────────────┘ ↑ ↑ ↑ ↑ ┌────┐┌────┐ ┌────┐ ┌────┐ │牛肉漢堡││雞肉漢堡│ │豬肉漢堡│ │魚肉漢堡│ └────┘└────┘ └────┘ └────┘ ↑ ↑ ↑ ↑ ┌──────┐┌──────┐┌──────┐ ┌──────┐ │牛肉漢堡加蛋││雞肉漢堡加蛋││豬肉漢堡加蛋│ │魚肉漢堡加蛋│ └──────┘└──────┘└──────┘ └──────┘ ↑ ↑ ↑ ┌─────────┐┌───────┐┌───────────┐ │牛肉漢堡加蛋加培根││雞肉漢堡加培根││雙層豬肉漢堡加兩片培根│ └─────────┘└───────┘└───────────┘ (10 秒後自動跳轉......) ^L10 ┌───────────┐┌─────────────┐ │辣味牛肉漢堡不加小黃瓜││魚肉漢堡淋檸檬汁加兩片起士│........ └───────────┘└─────────────┘ (一個方塊就是一個類別) 牛肉漢堡加蛋加培根是一個牛肉漢堡加蛋;牛肉漢堡加蛋是一個牛肉漢堡; 牛肉漢堡是一個漢堡,感覺是否有些不太對?請分析問題所在,並且重新設計這個系統 來解決問題。 別忘了,老闆說以後可能還會推出各種不同客製化的漢堡,好比說:三層牛肉漢堡 加三層起士再加三片培根…… 還有,提醒您,物價隨時在變化,那些笨笨的低價勞工可不懂怎麼修改程式碼來反應物 價的漲跌。 (結束) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.247.13
hgs1906 :很有head first 的味道 XD 10/30 00:22
xam :不是要用 decorator 嗎 10/30 01:09
H45 :是啊 :D 這題目改編自 head first 的 decorator 10/30 03:24
diablorex :好眼熟XD 10/31 01:02
KanoLoa :解答呢(敲碗 XD 11/14 22:23
askeing :哈哈~有Head First的味道 XD 11/17 16:04