Re: [問題] 繼承方法的缺點
※ 引述《aoksc (重出江湖)》之銘言:
: 請問各位
: 在跟同事說明少把工具方法直接寫在基礎類別
: 因為這樣會讓全部繼承的類別都擁有這方法
: 但這些方法又只有一兩個地方用到
: 有同事故意challenge說
: 寫在父類別又怎樣
: 沒用到就沒用到阿!
: 我也只能反擊說這會讓整個程式碼很雜亂
: 不過也的確就不要呼叫就好
: 不考慮到DI的問題我的反擊論點的確是很薄弱
: 請問有什麼更強力的觀點可以反擊繼承方法沒用到沒差
: 所以可以把方法都寫在父類別中的謬論
: -----
: Sent from JPTT on my HTC_U-3u.
優先考慮組合,而非繼承
許多場合,繼承只是一種短期的解決方法。這種解法常會造成太過龐大、深層的繼承結構
,令程式碼難以維護。因此,我們必須時時對它保持戒心,謹慎使用。
繼承之所以會導致難以維護,是因為一旦修改了上層的基礎類別,就會產生牽一髮而動全
身的連鎖反應。
將繼承結構改用組合的方式來設計,類別階層將變得比較扁平,而類別的行為可以透過組
合的方式加以擴充。
跟原先使用繼承的設計比起來,使用組合物件的方式提供了更大的彈性。
以上是之前我看《軟體構築美學》留下的筆記,供您參考
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.160.71.127 (香港)
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1559917963.A.00A.html
推
06/09 19:53,
5年前
, 1F
06/09 19:53, 1F
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章