看板 Soft_Job 關於我們 聯絡資訊
這篇純雜談 & 題外話 前面有板友提到以專案規模來決定 我會比較傾向用工作內容來取決要不要用OO解決問題 粗淺的例子是有個需求是兩台server要互傳資料 底層我可以採用HTTP RESTful、WCF或者比較古老一點的Web Service、CORBA甚至DCOM 或者乾脆使用FTP、網芳或Samba 但無論用哪種protocol 我會很直觀的認為這兩台server就是分別為一個object 因為server的特徵與行為符合OO的大多特性:類別、物件、抽象、封裝、訊息傳遞 因此不管我用的語言是否如某些人所說的非OO、夠OO還是半OO 上述因素都會影響到當我在分別替這兩台server coding時的風格向OOP靠攏 系統的規模並不是決定性的因素 開發時間也不是我會這麼做的主要原因 純粹只是因為「事情的特性就是如此,所以我就這麼處理」罷了 無論如何 任何工具與思考方式都是兩面刃吧? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.41.81 ※ 編輯: remmurds 來自: 114.32.41.81 (02/28 18:44)
wiz:的確如你所說的, Object-oriented 和 object-based 是有差別 02/28 21:40
wiz:這邊就不要拘泥於名詞定義, 而是了解背後的實際的意義. 02/28 21:41
wiz:一般大家所接觸的programming language, 對於資料的處理, 02/28 21:42
wiz:就是 "封裝" 與 "操作界面(intefrace)" 這兩個概念 02/28 21:43
wiz:或許不是每個語言, 都有"language-level" 的 object 語法 02/28 21:47
wiz:但背後所用的概念, 還是相同, 所以那些方法論, 例如OOP 02/28 21:49
wiz:並不是 這些方法,造成 "好與壞", 工具是死的, 重點在於人 02/28 21:52
bobju:若從系統維護的角度來看,還要考量到這個OO架構是否有可擴充 02/28 22:58
bobju:性,既有的程式碼由該程式碼的開發者維護,後續擴充出來的程式 02/28 22:58
bobju:碼則由擴充者維護,各自維護而不用讓後面的擴充者概括承受前 02/28 22:59
bobju:人的技術債 02/28 22:59
bobju:OO不能是[閉門造車]的架構,總是以[我認為如何如何..]的角度 02/28 23:00
bobju:去看,還要能跳脫自己,把時間軸往未來延伸,從後面接手的人的 02/28 23:01
bobju:角色去看是否能夠擴充才行 02/28 23:01
TonyQ:我覺得這是天性吧,沒人能跳出自我認知。 03/01 11:26
TonyQ:你去猜以後會接手,跟以後真正接手時長怎樣還是兩回事 03/01 11:26
TonyQ:這本來就是需要練習的,不是說了「不要以我認為如何如何」就 03/01 11:26
TonyQ:會變成咒語,而且一開始的練習還是從自我出發。 03/01 11:27
TonyQ:我傾向於從錯誤中學習,碰到一個架構上的困難, 03/01 11:27
TonyQ:去思考當初他的決策跟時空背景是什麼,現在你的決策跟你的 03/01 11:27
TonyQ:時空背景是什麼,去思考換作是你,現在你會想怎麼作。 03/01 11:28
andymai:接手這事只能盡力而為了吧~畢竟"計劃趕不上變化"... 03/01 13:14