簡單理解UML 類別圖 - Medium

文章推薦指數: 80 %
投票人數:10人

Class Diagram. 在物件導向的實作中,UML 類別圖可幫助釐清各類別的描述、擁有的屬性、可使用的方法與各物件間的相互關聯,能清楚表示實作的Design ... GetunlimitedaccessOpeninappHomeNotificationsListsStoriesWrite簡單理解UML類別圖ClassDiagram在物件導向的實作中,UML類別圖可幫助釐清各類別的描述、擁有的屬性、可使用的方法與各物件間的相互關聯,能清楚表示實作的DesignPattern。

因目前嘗試閱讀第三方套件的設計模式以及準備產出技術文件,網路上有相當多的說明資源,所以將閱讀的多方資料統整做個筆記,只概括常見的用法。

若有理解錯誤的地方,歡迎留言告知~描述類別類別範例三個區域由上而下分別代表Name—必填的名稱(粗體置中且首字大寫,若表示抽象類別則使用斜體)Attributes—屬性,冒號後表示型別(置左且首字小寫)Methods—方法,冒號後表示回傳值(置左且首字小寫)其中屬性與方法可以在前面加上前綴符號,表示其封裝層級+Public,公共-Private,私有#Protected,保護(即對子類可見)~Package,包(即對包內的其他成員可見)/Derived,推導(即由其他屬性推導得出,不需要直接給定其值)加底線Static,靜態(其屬性對任何實體來說都是相同的)Wiki說明描述關係在描述關係上,可分成兩個部分描述類別間的關係:Inheritance/Implementation描述實體間的關係:Aggregation/Composition/Dependency/Association關係圖例,需特別注意箭頭方向類別間的關係(擴展與實施)Inheritance:A繼承自B(AisatypeofB),也就是說A根據B的特性再擴展。

常見描述子類別基於父類別又額外擴充了什麼功能。

學生與教授為人的子類別Implementation:A實行B所定義的方法,B為介面(AimplementsB)。

常見定義protocol後,指示哪些類別會負責實作它。

Boxer要實作Boxing定義的技能實體間的關係(使用與擁有)Aggregation:A擁有B,但為弱擁有,A與B有各自的生命週期。

常見用來描述A類別擁有B的實體,A與B彼此協作,但又可各自單獨存在。

車擁有輪子,但車跟輪子的壽命是分開的,可各自獨立存在Composition:B為A的一部分,若A消失則B也不會繼續存在。

用來描述強烈的相依關係,A與B同時存在也同時消滅。

若人的壽命到盡頭,手腳也不能獨立存活Dependency:A使用B,B的變化有可能會影響到A。

常見描述A在使用某些方法時,會將B作為參數傳入,但並不持有B。

學生上課,課程作為參數加入學生的課表裡Association:A與B有直接關聯,是個通用定義,若A與B的關聯符合其他關聯定義,則使用其他關聯表示較為妥當。

居住地址與住戶有所關聯SDWebImageClassDiagramMorefromSunnyChengFollow礦冶工程碩士,職涯第一個轉彎為新加坡市場的業務經理,自學後又轉彎成OTT產業的iOS工程師。

Lovepodcastsoraudiobooks?Learnonthegowithournewapp.TryKnowableAboutHelpTermsPrivacyGettheMediumappGetstartedSunnyCheng33Followers礦冶工程碩士,職涯第一個轉彎為新加坡市場的業務經理,自學後又轉彎成OTT產業的iOS工程師。

FollowHelpStatusWritersBlogCareersPrivacyTermsAboutKnowable



請為這篇文章評分?