設(shè)計(jì)模式之UML簡(jiǎn)介
本文和大家重點(diǎn)討論一下設(shè)計(jì)模式中的UML,UML統(tǒng)一建模語(yǔ)言你是否了解,這里向大家詳細(xì)介紹一下UML的相關(guān)內(nèi)容,歡迎大家一起來(lái)學(xué)習(xí),相信通過(guò)本文的介紹大家對(duì)UML有初步的認(rèn)識(shí)。
設(shè)計(jì)模式——UML簡(jiǎn)介
1.UML
1.1UML是什么
一種創(chuàng)建程序模型的可視化語(yǔ)言,所謂的程序模型,就是程序的圖形化表現(xiàn)形式。
1.2為什么使用UML
主要是為了交流,交流就需要在一個(gè)標(biāo)準(zhǔn)的平臺(tái)上進(jìn)行,比如中國(guó)人交流,都會(huì)在中文的平臺(tái)上進(jìn)行。UML提供了描述程序模型的一個(gè)標(biāo)準(zhǔn),讓開(kāi)發(fā)人員、客戶更好的進(jìn)行交流。
為了交流的清晰,UML定義好不同的圖來(lái)專門表示不同類型的信息,可以非常清晰的表達(dá)我們對(duì)系統(tǒng)的理解,以及該理解是否和其他人一致。
為了交流的精確,在交流前,UML強(qiáng)迫設(shè)計(jì)者必須認(rèn)真思考他的設(shè)計(jì)方案,因?yàn)樗枰阉脑O(shè)計(jì)方案用UML畫出來(lái)。
1.3UML中的圖
1.3.1介紹
用例圖,關(guān)注系統(tǒng)與客戶的交互情況,即客戶可對(duì)系統(tǒng)做什么?
活動(dòng)圖,關(guān)注業(yè)務(wù)的工作流,業(yè)務(wù)的邏輯情況。
交互圖,關(guān)注業(yè)務(wù)或程序中互相交互的情況。
類圖,關(guān)注類之間的關(guān)系。
狀態(tài)圖,關(guān)注系統(tǒng)各對(duì)象之間的不同狀態(tài)以及狀態(tài)之間的轉(zhuǎn)換。
配置圖,關(guān)注不同的模塊之間如何配置。
1.3.2類圖
UML圖中最基本的就是類圖,它描述類,并表現(xiàn)類之間的關(guān)系。
1.描述單個(gè)類:
需要注意的是:類名為斜體字表示該類為抽象類;類圖中屬性和方法前面的符號(hào),它們表示屬性和方法成員的可訪問(wèn)性。一般為:
公共的(Public):用加號(hào)(+)標(biāo)記。
保護(hù)的(Protected):用(#)標(biāo)記。
私有的(Private):用(-)標(biāo)記。
描述類之間的關(guān)系:
類與類之間可分為4種關(guān)系:
UML類圖中的泛化關(guān)系,比如派生、繼承、擁有……。如同人可分為男人和女人一樣。
UML類圖中的組合關(guān)系,一個(gè)對(duì)象A是另一個(gè)對(duì)象B的一部分,且A這部分不能獨(dú)立存在。如同輪胎和汽車一樣,汽車沒(méi)有輪胎不能稱為“完整”的汽車,或汽車的功能不完整了。
UML類圖中的聚集關(guān)系,一個(gè)對(duì)象A是另一個(gè)對(duì)象B的一部分,但是A這個(gè)對(duì)象可以獨(dú)立存在,不影響對(duì)象B。如同飛機(jī)和飛機(jī)場(chǎng)一樣,飛機(jī)飛走了,飛機(jī)場(chǎng)還是獨(dú)立的,不受飛機(jī)在不在的影響。
UML類圖中的使用關(guān)系,一個(gè)對(duì)象A使用了另一個(gè)對(duì)象B。如同小汽車使用汽車加油站一樣。
1.3.3交互圖
類圖只能顯示類之間的靜態(tài)關(guān)系,要顯示類的對(duì)象之間如何協(xié)調(diào)工作的,就需用交互圖。
交互圖就是顯示對(duì)象之間如何交互的UML圖。
1.4總結(jié)
記住UML圖的作用,它只是提高你的設(shè)計(jì)和幫助表達(dá)你的設(shè)計(jì),只是一種輔助手段、工具。所以不必過(guò)分考慮用正確的方法創(chuàng)建圖,只需考慮表達(dá)你的設(shè)計(jì)種的概念的最佳方式。
當(dāng)然,這也就意味著你不應(yīng)該用不規(guī)范的方式使用UML,那樣不利于正確的溝通。
在畫圖的時(shí)候,你只需考慮你試圖表達(dá)的思想。
【編輯推薦】
- UML用例建模的慨念和應(yīng)用
- Eclipse UML插件及其安裝步驟簡(jiǎn)明介紹
- 解析五大UML圖形的建立步驟
- 專家指導(dǎo) 如何使Eclipse和UML工具EA進(jìn)行連接
- 把Eclipse UML插件集成至Eclipse如何實(shí)現(xiàn)