Re: [討論] Optional operation 的使用時機?

看板java作者 (無道德事業集團)時間16年前 (2009/03/10 12:49), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串5/7 (看更多)
外行人亂入回個文:p 我覺得是該用什麼pattern, 或是該用什麼樣的方法去實作一個需求時, 這些東西決定的時機應該是在analytics - design階段就該做的事情, 但我相信有不在少數的人還是走所謂的"psuedo-agile-method", 就是需求一來通常馬上就eclipse打開開始寫東西 (謎: 為什麼是psuedo? 因為大多人寫完了註解也很少, 事後reverse出來的文件也沒有XD) 在一個requirement出來時, 應該是要先將最基本的需求分析出來, 將它圖形化後, 這時候才開始進入所謂的design, 也就是開始做一些基本的static structure diagram. 這些diagram並不是在design階段就一次到位, 他是漸進式的, 有點類似畫圖, 開始先構圖, 然後修修構圖, 最後上色 (抱歉, 我的美術只有國小美勞課等級 ,至少我是這樣畫圖的= =") 在desgin也是一樣, 一開始可能在classification後只是先將class的gen-spec關係定義好, 慢慢地,才開始定義object之間的association relationshipe, 然而這是最重要但卻最 容易被忽略的部分. 所以這些東西, 我想不論是用什麼樣的pattern, 應該是可以練習著不要讓他只在腦中想, 可以試著將它圖形化, 這或許對整個static structure的design會有很大的幫助... ------------ ptt有OOAD板 XD ※ 引述《TonyQ (沉默是金)》之銘言: : 偏離原題所以另闢討論串. : 想討論一下 optional operation 的狀況 , : 基本上我討厭這種設計 , 所以我很少用 . : (我個人認為這已經是過度設計了.) : 因為做了某個操作後 , : 會可能會出現夢都夢不到的不支援例外 , : 要去考慮這可能性這實在是太麻煩了. : ──────────────────────────────── : 我大概就思考上歸納一下會用 optional operation 的幾個主要環境因素 , : 1.這個功能是非常普遍的 (至少佔子類別的大多數類別會用到) : -相對的碰上失敗的狀況不多 , : 可以純粹當成 RuntimeException/Error 來看. : 2.大多數時候會以超類別的面貌進行操作時. (ex. state/strategy pattern) : -有時候雖然功能可能普遍性不那麼高 , : 但是因為要以超類別進行操作 , 會將method 上提到超類別 , : 並出現部份的 optional operation 狀況, : 有點像是 template method 的 hook method. (這不是很好的例子 :p) : 3.純粹是覺得子類別有可能會用上就寫了...- -+ (這種狀況是最糟的) : ──────────────────────────────── : 因為我其實是不喜歡 optional operation 的 , : 所以順便討論一下對所謂 "過度設計" 的看法... : 隨著知道各種設計 pattern 的時間越來越長 , : 現在 pattern 大多用來作為溝通跟瞭解別人寫的程式的知識 , : 而越來越少自己在程式中以實做 pattern 作為第一考量, : 至少是比剛學 pattern時少. (我相信隨著時間過去還會更少...:p) : 對於設計方案的練習是很好 , 不過我越來越認為 pattern 就像遞迴一樣, : 你一定會發現 "就是這個!!!這程式用這個真是天作之合的!!!" 的時候, : 到那時候再用就好 , 其他時候就本著自己的判斷來寫吧... : 像我有一陣子濫用 state , 後來又有一陣子拼命用 singleton , : 後來都吃到苦頭 , 想想自己都覺得很蠢.orz : 設計方面的議題很難論斷 , 不過透過經驗的分享與交流應該會有一點幫助 . : 不過有幾個 pattern 算是神龍見首不見尾 , 很難知道自己有沒有掌握... : 像 MVC 這個 pattern 雖然概念上很清楚 , : 但是實做上不太容易區分 m-v-c 三個部份. : 常常聽到設計師(包括我也曾經這樣)會說自己用了 MVC , : 但是卻無法對資料、顯示、邏輯這三個區塊 , : 在實做中的引用作進一步的說明 , : 於是最後的話就是 "我程式有用 MVC 概念(用在哪?) 嗯...(開始想) " : 主要想說的是大部分狀況下 , pattern 應該是由最後程式的輪廓所描述出來 , : 而不是根據設計師心中的信念所描述 ... : 前者是在各種複雜的腦力激盪出來後的事實 , : 後者只是設計師無謂的偏執而已...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.172.154

03/10 13:10, , 1F
XD 不好意思敢人過去 [誤]
03/10 13:10, 1F
文章代碼(AID): #19jV5q1X (java)
討論串 (同標題文章)
文章代碼(AID): #19jV5q1X (java)