統一建模語言簡介
統一建模語言(Unified Modeling Language,UML)是用來設計軟件藍圖的可視化建模語言,1997 年被國際對象管理組織(OMG)採納爲面向對象的建模語言的國際標準。它的特點是簡單、統一、圖形化、能表達軟件設計中的動態與靜態信息。
統一建模語言能爲軟件開發的所有階段提供模型化和可視化支持。而且融入了軟件工程領域的新思想、新方法和新技術,使軟件設計人員溝通更簡明,進一步縮短了設計時間,減少開發成本。它的應用領域很寬,不僅適合於一般系統的開發,而且適合於並行與分佈式系統的建模。
UML 從目標系統的不同角度出發,定義了用例圖、類圖、對象圖、狀態圖、活動圖、時序圖、協作圖、構件圖、部署圖等 9 種圖。
本文章主要介紹設計模式中經常用到的類圖,以及類之間的關係。簡單介紹 UML 建模工具的使用方法,當前業界使用最廣泛的是 Rational Rose。使用 Umlet 的人也很多,它是一個輕量級的開源 UML 建模工具,簡單實用,常用於小型軟件系統的開發與設計。
1.描述一個類 (人類 Personnel) (其中有屬性 ,年齡(age), 姓名(name), 性別(sex), 還有吃 (eat) 這個動作)
2.描述一個接口 (一個發送郵件的接口類,有驗證郵件 (checkVerifyCode)和發送郵件 (sendVerificationCode) 2個方法)
3.接口與實現類之間的關係
4.依賴關係
//依賴關係 依賴(Dependency)關係是一種使用關係,它是對象之間耦合度最弱的一種關聯方式,是臨時性的關聯。在代碼中,某個類的方法通過局部變量、方法的參數或者對靜態方法的調用來訪問另一個類(被依賴類)中的某些方法來完成一些職責。
class B {//在B類中的沒有A的屬性,而是以形參的方式引入
public void test (A a) {
}
}
5 關聯關係 [關聯(Association)關係是對象之間的一種引用關係,用於表示一類對象與另一類對象之間的聯繫]
//class A {}
class C {//成員變量引入了A類
A a;
}
6 //聚合關係 [ 聚合(Aggregation)關係是關聯關係的一種,是強關聯關係,是整體和部分之間的關係,是 has-a 的關係。聚合關係也是通過成員對象來實現的,
//其中成員對象是整體對象的一部分,但是成員對象可以脫離整體對象而獨立存在。 ]
//class A {}
class D {
A a;
public D(A a) {
this.a = a;
}
}
1
7. //組合關係 組合關係 contains a,關聯關係較強,整體和部分是不可分割的,他們又共同的生命週期。
//class A {}
class E {
A a;
public E () {
a = new A();
}
}
1
8. //泛化關係 即是 父類與子類關係
//class A {}
class F extends A{}
7. //實現關係 即是接口與實現類的關係
interface G {}
class H implements G {}