1.模組化
物件就是模組
把資料結構和操作這些資料的方法緊密地結合在一起
2.抽象
過程抽象
資料抽象:類
引數化抽象:c++的「模板」
3.資訊隱藏
通過物件的封裝性實現類,分離了介面與實現,支援資訊隱藏
4.弱耦合
某一部分的變化對其他部分的影響降到最低程度
耦合:乙個軟體結構內不同模組之間互連的緊密程度
弱耦合:系統度
物件之間的耦合:互動耦合&繼承耦合
5.強內聚
內聚衡量乙個模組內各個元素彼此結合的緊密程度
在設計時應該力求做到高內聚
物件導向設計的3種內聚:服務內聚、類內聚、一般\特殊內聚
6.可重用
盡量使用已有的類
如果確實需要建立新類,則在設計這些新類的協議時,應該考慮將來的可重複使用
物件導向設計準則1
物件導向設計 如前所述,分析是提取和整理使用者需求,並建立問題域精確模型的過程。設計準則 是把分析階段得到的需求轉變成符合成本和質量要求的 抽象的系統實現方案的過程。從物件導向分析到物件導向設計 ood 是乙個逐漸擴充模型的過程。或者說,物件導向設計就是用物件導向觀點建立求解域模型的過程。儘管分析和...
物件導向的準則
1.3 物件導向的準則 人們編寫軟體的目的除了使用外,另乙個目的是容易修改,否則我們就改制硬體了。所以說,變更是軟體的天 性。我們不應該限制軟體的更新,而應該適應更新,創造環境使得容易更新,甚至預計可能的變化 所以我們 才有更多的工作機會 人們經過長期的經驗積累和研究認識到,具有可重用性和可維護性的...
物件導向設計的幾條經驗準則
這段時間在看arthur j.riel的 object oriented design heuristics 於是參考總結了如下的幾條物件導向設計原則 所有資料都應隱藏在它所在類的內部。類的使用者必須依賴類的公有介面,但類不能依賴它的使用者。儘量減少類的協議中的訊息。實現所有類都理解的最基本的公有介...