C++編程規範之33用小類代替巨類
摘要:
分而治之:小類更易於編寫,更易於保證正確、測試和使用。小類更有可能適用於各種不同的情況。應該用這種小類體現簡單概念,不要用大雜燴式的類,它們要體現的概念既多又複雜。
設計花哨的大類,是剛開始進行麵向對象設計時常犯的典型錯誤。能夠畢其功於一役,讓一個類提供完整和複雜的功能,當然是很誘人的。但是,設計易於組合的更小的、盡量小的類,才是實踐中更為成果的方法,這對任何係統都適用,原因為:
1. 小的類隻體現了一個概念,粒度層次恰到好處。而巨類則很可能體現了幾個不同的概念,使用這樣的類將增加他人的腦力消耗。
2. 小的類更易於理解,被人理解和被人重用的可能性也越大。
3. 下的類更易於部署。而巨類必須經常以一個笨重而又不可分的單位來部署。
4. 巨類會削弱封裝性。如果類有許多不需要成為成員的成員函數(因為類的私有實現存在不必要的可見性),那麼類的私有數據成員將變得與公用變量幾乎一樣糟糕。
5. 居類通常是因為試圖預測和提供完整的問題解決方案而出現的,實踐中,這種類從來都沒有真正成功過。人們的需求總是在變化的,有事需要更多,有時又想要更少。
6. 巨類更難保證正確和錯誤安全,因為它們經常要應付多種職責。
最後更新:2017-04-03 12:53:51