P3_C14-16:面向對象設計
On to Object Design
閱讀書上第14章oop
三種設計對象的方式
- code
- draw, then code
- only draw
編碼前會是UML須要話費多少時間
Designing objects
- 動態建模:交互圖(順序圖或通訊圖等)
- 靜態建模:最多見的UML類圖
Fundamental object design
- principle of responsibility assignment
- design patterns
UML interaction diagrams
閱讀書上第15章編碼
interaction diagrams
- 描述對象間經過消息的交互,分爲sequence和communications
- sequence(示例:書上P163)
- 優點:可以清晰表示消息的順序和時間順序,有大量詳細表示法選項
- 劣勢:強制在右側增長新對象,消耗水平空間
- communications(示例:書上P164)
- 優點:空間效用——可以在二維空間內靈活地增長新對象
- 劣勢:不易查閱消息的順序,表示法選項比較少
順序圖
- singleton
- 基本表示法(書上P166)
- alt: 互斥的有條件信息
- loop: 保護信息爲真的循環片斷
- opt:保護信息爲真的可選片斷
- par:並行執行的並行片斷
- region:只能執行一個線程的臨界片斷
- 構造對象/建立實例:虛線, create消息
- 對集合的迭代
- 對類調用靜態(或類)方法的消息
- 生命線框圖表示接收消息的對象是類,《metaclass》
通訊圖
- 基本畫法(P175)
- link:鏈接兩個對象的路徑
- message:許多消息可能沿同一路徑,消息有id和流向箭頭
- 實例的建立
- UML構造型 《create》
- UML標記值 {new}
- 消息的順序編號
- 條件消息 :在順序編號後使用方括表示有條件消息
- mutually exclusive conditional path
- eg. 1a[test]和1b[not test]
- iteration or looping
- iteration over a collection
UML class diagrams
閱讀書上第16章線程
introduction
design class diagrams(DCD)
- classifier(類元)
- ways to show UML attribute
- 屬性文本、關聯線
- 默認屬性的可見性爲private
- 領域模型的關聯線沒有箭頭,類圖的關聯線有箭頭
- 數據類型對象使用屬性文本表示法,對其餘對象使用關聯線
- operations and methods
- 假設當前UML版本中包含了返回值類型
- 默認操做的可見性爲public
- 操做是聲明,方法是操做的實現
- keywords
- 經常使用關鍵字:《actor》《interface》{abstract} {ordered}
- stereotypes, profiles, and tags
- property and property string
- 如visibility等,也能夠自定義{自定義特性=默認值}
- abstract classes and abstract operation
- {leaf}:表示final class和不能被子類複寫的操做
- {abstr}:抽象類和操做
- 泛化(generalization):子類到超類的實現和空心三角箭頭
- singleton classes
- dependency(依賴)
- 依賴線常出如今類圖和包圖中, 虛線箭頭線
- 使用依賴線描述對象之間的全局變量、參數變量、局部變量和靜態方法的依賴
- 接口實現:interface realization
- composition over aggregation 組合優於聚合
- 聚合:模糊的關聯, 組合:很輕的總體-部分聚合關係
- 組合:實心棱形線
- 在某一時刻,部分的實例只屬於一個組成實例
- 部分必須老是屬於組合的
- 組成必需要負責建立和刪除其部分,若是紙質棋盤被銷燬,棋格也將不存在
- association class
- qualified association
歡迎關注本站公眾號,獲取更多信息