<java與模式> ---電子書
第2.4部分 UML page16
理解: 類圖
一、描述類的類圖
一般如果類不包含內(nèi)部類,則可以將類圖分為四層。
1、第一層描述的是類的名字,如果為斜體則該類為抽象類。
2、第二層描述的是類的屬性,規(guī)則是:[+|-|#]classname<變量名>如果有下劃線則表示其為靜態(tài)的。+表示為public、—表示為private、#表示為protected。
3、第三層描述的是類的方法,規(guī)則是:[+|-|#]funcationname<變量名>如果有下劃
則表示其為靜態(tài)的。
4、第四層表示的是類的性質(zhì),也就是類的屬性,不過一旦有該屬性,類就要實現(xiàn)方法,set和get方法。
接口類的類圖和類的類圖幾乎一樣。
問題:該類中包含有內(nèi)部類的有是如何分層的呢?
二、描述對象的類圖
他們的關(guān)系會發(fā)生在類和類、類和接口、接口和接口之間。
類圖的關(guān)系可以分為:一般關(guān)系、關(guān)聯(lián)關(guān)系、聚合關(guān)系、合成關(guān)系、依賴關(guān)系。
1、一般關(guān)系表現(xiàn)在類或則接口之間的繼承關(guān)系。
2、關(guān)聯(lián)關(guān)系是指他用另一個類的實例作為其屬性,而聚合關(guān)系基本上也是這個意思不過聚合主要體現(xiàn)的是總體和四肢的關(guān)系,如:類的屬性是用一個對象數(shù)組實現(xiàn)的,那么該類就和實現(xiàn)這個屬性數(shù)組的類是一個聚合關(guān)系。
3、合成關(guān)系要比聚合關(guān)系要強,他在每一個時刻只能夠和一個對象發(fā)生合成關(guān)系,他不能夠共享。
4、依賴關(guān)系是在一個的方法中引用了一個類的對象作為是參數(shù),或是引用了一個類的對象作為局部變量或引用類的靜態(tài)方法或?qū)傩浴?/SPAN>
問題:合成關(guān)系中的共享,到底什么不能夠共享?怎么理解這個不能夠共享?合成關(guān)系很難理解,“他在每一個時刻只能夠和一個對象發(fā)生合成關(guān)系”這句話與關(guān)聯(lián)關(guān)系中不就一樣了嗎?也就是說,當(dāng)我們直接用一個類A來聲明一個對象作為一個類B的屬性,那么我們就可以說這個類A關(guān)聯(lián)類B,那也可以說類A合成類B嗎?
第十二章 簡單工廠模式
“開—閉”原則要求一個系統(tǒng)的設(shè)計準(zhǔn)許在系統(tǒng)不需要修改的情況下擴展其功能。
理解:簡單工廠模型簡單說就是:抽象產(chǎn)品——>具體產(chǎn)品<-----------工廠類
在特殊的情況下,也就是當(dāng)只有一個具體產(chǎn)品的時候,我們可以將其中抽象產(chǎn)品不要,但是這種用法看上去不是很多。一個更為特殊的用法是將抽象產(chǎn)品和工廠類合并.
posted on 2005-07-30 20:15
sky 閱讀(184)
評論(0) 編輯 收藏