繼承 多態(tài) 封裝 抽象
用例描述:
用例名 用例編號
參與者
用例描述
前置條件
后置條件
基本流程
替代流程
領(lǐng)域模型是對概念類或者對象的可視化
CRC判斷是否是用例
CRC 類職責(zé)協(xié)作者
候選的關(guān)鍵抽象 排除原因 選定的名字
有用用例的測試:老板測試 EBP問題 規(guī)模測試 前兩個強調(diào)可量化有價值的結(jié)果
1切平、老板測試:系統(tǒng)是否有價值,是否能解決不完美
2来农、基本業(yè)務(wù)測試:是否能在特定時間點特點地點具體業(yè)務(wù)范圍內(nèi)能完成
用例類型:基礎(chǔ)用例靶病,具體用例俱笛,抽象用例涉茧,附加用例
用例之間的關(guān)系:包含和擴展状飞,還有泛化
識別現(xiàn)實世界的對象的方法:名詞汰瘫,分類列表法狂打,模型
名詞可能是一個屬性就不是概念類,同義詞混弥,無關(guān)的類趴乡,角色類
能不能用一個文字或數(shù)字來描述,能就不是概念類
內(nèi)延:需要用多個屬性來定義蝗拿。外延:存在多個實例
類之間的關(guān)系:
虛線加尖頭 是依賴
實線 是關(guān)聯(lián)
實線加空心四邊形 聚合
實線加實心四邊形 組合
實線加空心三角形 泛化
虛線加空心三角形 實現(xiàn)
面向?qū)ο笤O(shè)計原則
- 單一職責(zé)原則(Single Responsibility Principle)
每一個類應(yīng)該專注于做一件事情晾捏。 - 里氏替換原則(Liskov Substitution Principle)
超類存在的地方,子類是可以替換的哀托。子類不能添加任何父類沒有的附加約束
“子類對象必須可以替換基類對象” - 依賴倒置原則(Dependence Inversion Principle)
實現(xiàn)盡量依賴抽象惦辛,不依賴具體實現(xiàn)。 - 接口隔離原則(Interface Segregation Principle)
應(yīng)當(dāng)為客戶端提供盡可能小的單獨的接口仓手,而不是提供大的總的接口胖齐。 - 啟發(fā)式原則
任何變量都不應(yīng)該擁有指向具體類的指針或者引用
任何類都不應(yīng)該從具體類派生
任何方法都不應(yīng)該改寫其任何基類中已經(jīng)實現(xiàn)的方法 - 開閉原則(Open Close Principle)
面向擴展開放,面向修改關(guān)閉嗽冒。
設(shè)計目標(biāo):可擴展 靈活性 可插入性
面向?qū)ο笤O(shè)計的好處:易維護呀伙,質(zhì)量高,效率高添坊,易擴展
九大設(shè)計模式 GRASP 通用職責(zé)分配軟件模式
創(chuàng)建者
信息專家
低耦合
控制器
高內(nèi)聚
多態(tài)
純虛構(gòu)
間接性
防止變異