1. 程式人生 > >設計模式前篇

設計模式前篇

前言

  很久很久以前勵志寫部落格,斷斷續續寫了一些。現在又勵志寫部落格,希望能堅持下去,歡迎各位監督。
學設計模式前,我們需要了解UML圖。

UML

UML定義

  • 統一建模語言(Unifed Modeling Language)縮寫UML。
  • 非專利的第三代建模和規約語言

UML特點

  • UML是一種開發的方法
  • 用於說明、視覺化、構建和編寫一個正在開發的面向物件的、團建密集系統的製品的的開放方法
  • UML展現了一系列最佳工程實踐,這些最佳實踐在對大規模,複雜系統在建模方面,特別是在軟體架構層面已經被驗證有效。

UML2.2的分類

UML2.2中定義了14種圖示,分類如下:

  • 結構式圖形
    靜態圖(類圖,物件圖,包圖)
    實現圖(元件圖,部署圖)
    剖面圖
    複合結構圖
  • 行為式圖形
    活動圖
    狀態圖
    用例圖
  • 互動式圖形

UML類圖

  • class Diagram:用於表示類、介面、例項等之間的相互關係
  • 雖然名字叫類圖,但類圖中不只有類
    技巧:
    UML箭頭方向:從子類指向父類(只有知道對方才能指向對方)

記憶技巧-實現-繼承|虛線-實現

在這裡插入圖片描述
空心三角箭頭:繼承或實現
實線-繼承。is a 關係,擴充套件目的,不虛,很結實
虛線-實現,虛線代表“虛無”實體

記憶技巧-實現-關聯|虛線-依賴

在這裡插入圖片描述
在這裡插入圖片描述

  • 虛線-依賴關係:臨時用一下,若即若離,虛無縹緲,若有若無,表示一種使用關係,一個類需要藉助另一個類來實現功能,一般是一個類使用另一個類作為引數使用,或者返回值。
  • 實線-關聯關係:關係穩定,實打實的關係,表示 一個類物件和另一個類物件有關聯,通常是一個類中有另一個類作為屬性。

記憶技巧-空心稜形-聚合|實心稜形-組合

  • 稜形就是一個盛東西的器皿(例如盤子)
  • 聚合代表器皿裡可以放很多相同的東西,聚在一起(箭頭方向所指的類)
  • 組合代表滿器皿裡已經有實體存在,生死與共。

記憶技巧-空心稜形-聚合

在這裡插入圖片描述

記憶技巧-實心稜形-組合

在這裡插入圖片描述

記憶技巧-空心稜形-聚合

  • 整體和區域性的關係,兩者有著獨立的生命週期,是has a的關係
  • 弱關係
  • 消極的詞:弱-空

記憶技巧-實心稜形-組合

  • 整體和區域性的關係,和聚合的關係相比,關係更加更加強烈,兩者具有相同的生命週期,contracts-a的關係
  • 強關係
  • 積極的詞:強-滿
    常見的數字表達及其含義,假設有A類和B類,數字標記在A類
  • 0…1 0或1個例項
  • 0…* 0或多個例項
  • 1…1 1個例項
  • 1 只能有一個例項
  • 1…* 至少有一個例項

UML時序圖

Sequence Diagram:是顯示物件之間關係的圖,這些物件是按時間的順序排序的。
時序圖中包含的建模元素有:
物件(Actor)、生命線(LifeLine)、
控制焦點(Focus of control)、訊息(Message)等。
在這裡插入圖片描述