Re: [請益] 低耦合 高內聚?

看板Soft_Job作者 (不下棋=.=)時間14年前 (2012/01/20 07:36), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/4 (看更多)
※ 引述《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
文章代碼(AID): #1F6AZgha (Soft_Job)
文章代碼(AID): #1F6AZgha (Soft_Job)