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