[UML漫談]
話說"工欲善其工需利其器",有了好的工具,好的表達(dá)方式,能給我們的工作變得簡單而優(yōu)雅.
為了更好的講解設(shè)計(jì)模式,方便理解,需要運(yùn)用一種建模設(shè)計(jì)語言----UML.
UML(UML:Unified Modeling Language),即統(tǒng)一建模語言,用來對軟件密集系統(tǒng)進(jìn)行描述、構(gòu)造、視化和文檔編制的一種語言.這是概念,不好理解.
UML的作用,打個比方:一段描寫迷人海灘風(fēng)景的文字和一幅描繪海灘風(fēng)景的油畫,去看這兩件東西的人,有的人可能能讀懂文字(可能是特定的語言),有的不認(rèn)字,所以并不是所有的人能看懂文字表達(dá)的內(nèi)容,但是所有的人都能讀懂油畫所表現(xiàn)出來的含義.油畫表達(dá)內(nèi)容的直接,形象,豐富特性就類型UML在描敘軟件結(jié)構(gòu)過程中的作用.
在軟件項(xiàng)目中,一般有幾個角色:用戶(User),架構(gòu)設(shè)計(jì)師(orPM, SA),程序員(PG)
用戶:
也許不懂計(jì)算機(jī),也不懂編程語言,但是懂行業(yè)業(yè)務(wù),該軟件的功能需求.
程序員
懂計(jì)算技術(shù),懂編程語言.但是不太了解行業(yè)邏輯.需要把客戶的業(yè)務(wù)應(yīng)用需求轉(zhuǎn)變?yōu)槌绦虼a,
架構(gòu)設(shè)計(jì)師
資深的行業(yè)架構(gòu)設(shè)計(jì)師應(yīng)該具有一定的行業(yè)知識,既能聽懂客戶的業(yè)務(wù)需求,又能知道怎么告訴程序員去用代碼實(shí)現(xiàn).
架構(gòu)設(shè)計(jì)師在前兩者交流中起到承前啟后的"中間體"作用.UML就是采用圖形化的形式來表達(dá)架構(gòu)和設(shè)計(jì).成為了建模設(shè)計(jì)的通用的設(shè)計(jì)標(biāo)準(zhǔn)..
UML圖讓信息交流變得簡單
[UML基礎(chǔ)]
1.類的層級關(guān)系
UML中的類圖是一種可表示一組類,對象實(shí)例和接口之間的靜態(tài)關(guān)系圖.
如圖的UML類圖表達(dá)了上面代碼的含義,
類之間的關(guān)系有四種:依賴,泛化,實(shí)現(xiàn)聚集,組成.具體的UML實(shí)例可以參UML基礎(chǔ).
2.接口和實(shí)現(xiàn)
實(shí)現(xiàn)接口的UML示例如下:
abstract void print();
}
public void print() {
// how to print
}
}
接口,抽象,實(shí)現(xiàn),繼承在設(shè)計(jì)模式中被廣泛的使用,這也是OOD的優(yōu)勢所在.美妙所在.
這里只舉出了幾個簡單情形,讓大家有個感性的了解,具體的情形在說具體的設(shè)計(jì)模式的時(shí)候在針對性的說明,先不用弄那么多,那么雜,能開始下一步就足夠.
類之間的關(guān)系
類之間的關(guān)系有5種,關(guān)聯(lián) 依賴 聚集 泛化 實(shí)現(xiàn)