Sorry..各位高手 之前沒有看到大家熱情的回應
我之前用繼承是為把code的function 依照功能分層 所以每層都有實做的function
之前沒有想好要重複使用的目的 但現在要寫一個類似的class..
而且會用到共同定義的functions 其實我覺得這種情形應該還滿普遍
但我不知道軟工上正確的作法是什麼 把交通工具拿掉也很奇怪阿..
所以正確的作法是應該寫個獨立的class叫交通工具
然後車和船 有"交通工具"的這個物件 對吧
這是是合成還是聚合阿 ? 我很遜阿!!! 不懂strategy pattern..正在研究當中
但水陸兩用車直接繼承交通工具 這樣之前寫在車和船的功能就不能重複使用了
有多份copy的code不會不好維護嗎
※ 引述《tinlans ( )》之銘言:
: ※ 引述《march20 ()》之銘言:
: : 我猜在他在"交通工具" 實作了某些 utility.
: : 如果是這樣, 應該是把 "交通工具" 變成 pure interface,
: : 然後把這些 utility function 提取到 TrafficUtil, MillageUtil 才對..
: 他講的水陸兩用車,
: 讓我覺得分類法應該是以功能做分類,
: 繼承樹應該建立在「移動方式」的行為上,
: 各種交通工具只是以合成或聚合的方式去使用這些行為物件,
: 這樣水陸兩用車就可以直接繼承交通工具 (如果真的有必要留交通工具的話)。
: 第二行到第四行簡單來說就是 strategy pattern。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 128.125.87.33
※ 編輯: sorryChen 來自: 128.125.87.33 (07/20 13:37)