設計模式之UML類圖該怎麼畫

關於可維護、可複用、可擴展、靈活性好的理解:

生活中:印刷術和活字印刷,當需要對某些內容修改時,印刷術只要有一丁點變化,就需要重頭再來;而活字印刷只需要進行部分修改即可。

可維護:只更改要更改的內容;

可複用:之前的內容並非用完就無用,後面仍可使用;

可擴展:若要新增內容,只需在原來內容的基礎上增加新內容即可;

靈活性:內容可以稍作修改既可以滿足要求。

封裝、繼承、多態把程序的耦合度降低,使用設計模式使得程序更加靈活,容易修改並易於複用。

UML類圖

在學習設計模式時,UML類圖是必不可少的工具,通過UML類圖可以查看所設計的程序是否足夠優秀。判斷所設計的代碼是否具有可維護性、可擴展性、可複用性、靈活性等。在這裏插入圖片描述
(圖片來自大話數據結構)

  • 類圖分爲三層,第一層顯示類的名稱,如果是抽象類,則用斜體顯示;第二層是類的特性,通常是字段和屬性;第三層是類的操作,通常是方法或行爲;注意前面的符號,“+”:public,“-”:private,“#”:protected

  • 接口

    與類圖的區別主要是頂端有<<interface>>顯示;第一行是接口名稱,第二行是接口方法。接口還有棒棒糖表示法,如上圖所示,唐老鴨實現講人話這個接口,在圓圈旁邊是接口的名稱。

  • 繼承(類與類)

    空心三角形+實線;空心三角形在被繼承端,即父類

  • 實現(類與接口)

    空心三角形+虛線;空心三角形在被實現端

  • 關聯

    當一個類需要知道另一個類時,如企鵝需要知道氣候變化,需要了解氣候規律。用實線箭頭表示,箭頭指向被瞭解方

  • 聚合

    比如:每隻大雁都屬於一個雁羣,而一個雁羣可以有多隻大雁;它們之間就滿足聚合關係。聚合表示一種弱的‘擁有’關係,體現的是A對象可以包含B對象,但B對象不是A對象的一部分。聚合用空心菱形+實現箭頭表示,菱形在B對象上,箭頭指向A對象

  • 合成/組合

    比如:鳥和翅膀就是組合關係,是一種強的‘擁有’關係,體現嚴格的部分和整體的關係,兩者生命週期一樣。合成關係用實心菱形+實線箭頭來表示,實心菱形在擁有端,箭頭指向被擁有端,在合成關係的連線兩端還有數字,稱爲基數,表示這一類可以有幾個實例,

  • 依賴

    如上圖的動物需要依賴氧氣、水等用虛線箭頭表示,箭頭指向被依賴端

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章