作者H45 (!H45)
看板OOAD
標題[其他] 進板畫面 - 悟劍漢堡店
時間Thu Oct 30 00:13:13 2008
^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