類的設計
来源:互联网 发布:linux 输入输出重定向 编辑:程序博客网 时间:2024/05/21 22:51
類要小
一個類的代碼行數少,當然好,我們這裏說的類要“小”,是指,一個類的設計第一原則是職責單一。
我是一個記性不好的人,代碼寫完不久,哪個類裏面包含哪些方法,很快就拋之九宵雲外了,如果類的職責唯一,那麼給這個類取名的時候就可以以這個類的職責名之,數周之後,當我要知道實現了某個職責的類在哪裏的時候,我只需要去尋找這個職責的名字即可。設想,如果某個系統裏存在著大量的萬能類,當我們想找某一職責的代碼時,如何尋找?我曾見過,某項目中某一個CPP文件的代碼行數大於兩萬行,幾乎所有參與維護的兄弟都叫苦不迭。
職責劃分之就近原則
在面向對象的設計中職責劃分是一個很重要的基本功,當我這個上層軟件開發的拼命學UML的時候,曾經有那麼一段時候忽略面向對象設計之本,以為工具才是重要的,非也!當我逐漸淡化面向對象設計的思想時,用的再好的工具畫出來的也是一片混亂的設計。
當我們說職責時,落實到具體行動中,就是實現這個職責的函數應該放在哪個類裏。一般的原則是,就近原則,所謂就近原則,就是將職責函數置於它所需要的信息所在的類中。這個我認為還是比較好理解的,其一,將職責函數與其相關的信息置於同一類中,職責函數獲取其所需信息方便;其二,這是一種歸類方法,比較易於記憶,易於記憶對軟件工程師而言永遠是首要考慮的問題,沒辦法,我們都是人類;基三,降低耦合,使得當前職責函數的變化或其不穩定性縮小在最小的範圍內。
類之整潔
一個類的屬性不宜太多,這一規則也是為職責單一原則服務的,這裏說的屬性要少,也是對於職責而言的。
一個類的屬性及其方法的排序一般按照:公共靜態屬性、私有靜態屬性、私有屬性、公共方法及私有方法的序列排序,公共屬性,不好意思,不建議大家使用。之所以私有方法置於最後 ,是因為私有方法一般是因公有方法而存在的。這種自上而下的排列方式是符合一般思維習慣的。- 類的設計
- 設計模式的定義及分類
- Crystal Reports 設計的一點總結
- 喜愛的程式設計名言
- 設計以 XNA 為基礎的 遊戲
- windchill中IBA軟屬性值查詢、設定、更新的工具類
- 五個為你的設計添加光影效果的簡單技巧
- 對最近學習的mvc設計模式的淺顯總結
- 最簡單的東西總是最容易被忽視——談看不見的設計
- 創新組合型的架構設計(Part-4):EIT造形幕後的設計思想
- [转贴]程式設計的省思 - 功力篇
- 我翻譯的《Erlang程式設計》出版了
- 菜鳥談一談,如何學程式設計的方法
- 一些軟件分析和設計方面的書
- 追求神乎其技的程式設計之道
- 如何設計框架(Framework)的API呢?
- 程式語言的特性本質(四)往數學領域抽象化的函數程式設計
- JOIN的分類
- 使用NativeDriver自动化测试原生移动应用
- GFP_ATOMIC & GFP_KERNEL kmalloc& vmalloc
- bean的scope属性
- 应用程序内存泄漏确认与定位
- Android、JUnit深入浅出(七)——总结篇
- 類的設計
- 纵观jBPM:从jBPM3到jBPM5以及Activiti5
- POJ推荐50题
- Spring + Quartz任务调度之静态作业
- 第2周上机任务
- 用 OData Service 访问在线法律
- android 4.0.1源码编译成功后运行emulator提示No command 'emulator' found
- (1-1)编写递归函数将十进制转换成二进制数输出
- c++实验报告(三)--阶乘