Re: [請益] 低耦合 高內聚?
※ 引述《Elly (●A利 ●A你)》之銘言:
: 常聽到IT人在說低耦合,高內聚,小妹我也希望能作到如此...
: 但以我一個初學者,實在很難以理解,到底要如何實作呢?
: 最近,我練習作一個client-server-db架構的底層,
: 以我一個初學者的想法,
: 當然就是作一個Base Form, 讓所有表單來繼承...
: 我把每個視窗都會出現的新增、修改、審核、刪除、
: 取消刪除、退回、清除畫面....等按鈕都拉一拉,
: 以及中間放一個panel,加以配色、排版後,
: 再加上一些屬性:ex.上述按鈕各要呼叫哪些server端的method...等,
: 然後再註冊上述按鈕的事件,
: 在事件中去呼叫那些屬性設好的Method,
: 當然...我還沒能作到讓繼承的表單什麼code都不用寫,只要設一設就可以動,
: 因為每個表單總有它特別要處理的地方,
: 像是輸入的欄位,都要個別再拉,個別依狀況處理,
: 所以我又在Base Form中所有我註冊事件中
: 呼叫我為它們加上的一個[可override的Method],
: 讓繼承表單可以override實作內容...
: 另外我也花了不少時間繼承開發工具內建的輸入元件,
: 像是TextBox, Grid, ComboBox等等,再為他們加上一些功能
: 作了很久之後,
: 我覺得...好亂呀XD....
: 所以我想到了IT人常說的,
: 要作低耦合+高內聚,
: 我悟性不太好,又再去google了好幾次...
: 猜想應該是不要作一個Base Form來繼承,
: 而是將Base Form要作的事,都提出來寫成很多個小小的靜態函數,
: 再讓其它Form呼叫這些靜態函數就好了嗎?
: 但這樣感覺好像每個Form都會寫差不多code耶~有點像在複製貼上...
: 我實在很疑惑@@?
: 有人能教教我嗎?感恩啊~
我覺得不是不用繼承
而是少用繼承
(要是繼承那麼爛 為什麼sun...喔不 是oracle為什麼不把繼承拿掉?)
不要為了用甚麼而用甚麼
而該因為找不到比用甚麼更好的選擇而用
我曾經很重視OO的設計原則
但我後來開始會視情況違背(因為技術考量而非時程考量)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.123.93
→
01/20 08:07, , 1F
01/20 08:07, 1F
→
01/22 04:30, , 2F
01/22 04:30, 2F
→
01/22 04:30, , 3F
01/22 04:30, 3F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 4 篇):