摘要:
介紹裝飾者模式動態地將責任附加到對象上。若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案。思維導圖有這樣一個項目,做一個餐廳訂餐系統。起初的代碼結構是這樣的。前面有很多Beverage的繼承類,現在遇到的問題是牛奶的價錢上漲了,那么所有相關的類,我們都要進行調整,比如Milk,SugarAndMilk類,這種類還有很多,我們需要逐個去修改類中的方法——開發人員每次都做這種事情,要瘋了!所以我們要改變現有的結構。以下的圖都是簡圖,實際的圖,可沒有這么簡單。設計問題:1》類數量爆炸,有很多類,難以維護;2》整個設計呆板;3》基類加入的新功能無法使用于子類;復用類方法的方式很多,比如繼承,組合,委 閱讀全文
posted @ 2012-02-28 16:00
川山甲
閱讀(11116)
評論(5)
推薦(5)
浙公網安備 33010602011771號