PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[討論] 做OO是不是要有美感?
作者:
noodleT
(麵T)
2016-04-01 16:00:23
第一道問題是
要選擇繼承,還是組合?
例如:
汽車要繼承引擎,
還是汽車要包含一個引擎成員?
汽車繼承引擎的話,
自然的就擁有發動、加油等功能,
跟日常看到的一樣。
但它們之間並沒有 is a 的關係…
又例如:
物件計數器
template 〈class T〉
class counter
{建構加一,解構減一}
如果要統計汽車物件數量,
要繼承好,還是包含好?
第二個問題:
以生產線模擬來說,
一台機台完成動作後
要通知下一台「輪到你了」
所以機台要「認識」其他機台。
class machine{
machine *other;
}
但這樣一來,
machine 裡有machine,
如果有個人想搞怪,
一直 new 下去,
這樣是不是就變成
machine = 生產線 ?
我可以接受一些 tree 結構採取
自己裡面有自己的指標設計,
但就很難接受一個
活生生的、現實的例子這樣作…
是我太欠缺美感,
還是太鑽牛角尖所致嗎?
作者:
Neisseria
(Neisseria)
2016-04-01 16:06:00
找些 object-oriented design 的書來看,會有幫助
http://www.sandimetz.com/products/
可參考雖然是用 Ruby,不過這本評價蠻好的
作者:
rodion
(r-kan/reminder)
2016-04-01 16:14:00
說美感太抽象 我以為OO只是達成高內聚低耦合的方法之一應該思考的是如何寫 才能更容易擴充與維護
作者:
noodleT
(麵T)
2016-04-01 16:17:00
我也想高維護性,但老闆總是說能動就好還是較希望是 c++ 中文版好
作者: longlongint (華哥爾)
2016-04-01 17:14:00
嗯 那你應該先說服你老闆 不然他會覺得你浪費時間又沒產出
作者:
james732
(好人超)
2016-04-01 17:56:00
通常老闆都會覺得會動就好XD
作者:
Caesar08
(Caesar)
2016-04-01 18:17:00
應該是大部分人都覺得 程式能動就好,不是只有你老闆
作者:
weiclin
(CC)
2016-04-01 19:53:00
那你可以接受將通知下一台的邏輯移到新的類別嗎?例如生產線類別,裡面很多機台,就負責把產出餵給下一台或許你可以參考 Domain Driven Design 的思路
作者:
CLANNAD
(-クラナド-)
2016-04-01 20:09:00
OO不是要你模擬現實 也不用什麼美感只要考慮內聚力 耦合性 職責這堆東西就好了
作者:
legendmtg
(CLANNAD)
2016-04-02 00:09:00
不是 很多類別會是抽象的概念 而不是現實的"東西"推薦這本書
http://tinyurl.com/4j3d5h7
作者:
weiclin
(CC)
2016-04-02 00:34:00
設計類別如果能對應到現實的概念,能幫助理解但如果不適合還硬套的話就只有反效果
作者:
noodleT
(麵T)
2016-04-02 07:37:00
謝謝
繼續閱讀
[問題] 大矩陣
dan40418
[問題] 關於c++的multi threading編譯/執行問題
jackyT
[問題] overload operators的問題
david830317
[問題] template metaprogramming的應用範圍
Clangpp
[問題] C++ Builder 2010 boost資料庫使用
Arthurseed
[問題] 新手C語言請教
nendi
[問題] vs包成dll的執行效率
Wyvern
[問題] 請問哪裡可以找到不同C版本的比較?
wtchen
[問題] 文字讀檔 從尾巴開始一行一行讀
kai5566
Re: [問題] 使用thread更慢的問題
Caesar08
Links
booklink
Contact Us: admin [ a t ] ucptt.com