其實(shí)我對(duì)建造者模式的理解,倒是有些聚合合并的原則在里面.這只是我個(gè)人的理解.
但是對(duì)于建造者模式來(lái)說(shuō):對(duì)于客戶端來(lái)說(shuō),相關(guān)的產(chǎn)品內(nèi)部的元件的建立都是被隱藏的.我們通過(guò)相關(guān)的角色去完成產(chǎn)品對(duì)象及其元件的建立.
引用<Java模式>的一句話是這樣說(shuō)的:一個(gè)導(dǎo)演者對(duì)象和具體建造者對(duì)象一個(gè)一個(gè)地建造出所有的零件,從而建造出完整的產(chǎn)品對(duì)象.建造者模式將產(chǎn)品的結(jié)構(gòu)和產(chǎn)品的零件建造過(guò)程對(duì)客戶端隱藏起來(lái),把對(duì)建造過(guò)程進(jìn)行指揮的責(zé)任和具體建造者零件的責(zé)任侵害開(kāi)來(lái).達(dá)到責(zé)任劃分和封裝的目的.
我覺(jué)得建造者模式當(dāng)中:相關(guān)角色的定義是最為重要的.它們各司其職,而又互不干涉.
抽象建造者角色:它是一個(gè)抽象接口,給出了建立相關(guān)元件的方法及一個(gè)返回對(duì)象的方法.這個(gè)接口必須由具體建造者角色來(lái)實(shí)現(xiàn).
具體建造者角色:它有兩個(gè)作用:第一是實(shí)現(xiàn)抽象建造者角色聲明的方法
第二就是提供產(chǎn)品對(duì)象的實(shí)例.
導(dǎo)演者角色:它是一個(gè)中間轉(zhuǎn)換類.它實(shí)現(xiàn)了構(gòu)建相關(guān)元件的方法,調(diào)用具體建造者類.
產(chǎn)品角色:具體的產(chǎn)品類的實(shí)現(xiàn).
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||
相關(guān)文章:
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
30 | 31 | 1 | 2 | 3 | 4 | 5 | |||
6 | 7 | 8 | 9 | 10 | 11 | 12 | |||
13 | 14 | 15 | 16 | 17 | 18 | 19 | |||
20 | 21 | 22 | 23 | 24 | 25 | 26 | |||
27 | 28 | 29 | 30 | 31 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
常用鏈接
留言簿(4)
隨筆分類(85)
隨筆檔案(89)
- 2009年8月 (1)
- 2008年7月 (1)
- 2007年11月 (1)
- 2007年8月 (1)
- 2007年7月 (2)
- 2007年6月 (1)
- 2007年2月 (5)
- 2007年1月 (1)
- 2006年12月 (1)
- 2006年11月 (1)
- 2006年10月 (11)
- 2006年9月 (28)
- 2006年8月 (9)
- 2006年7月 (12)
- 2006年6月 (3)
- 2006年5月 (1)
- 2006年4月 (3)
- 2006年3月 (4)
- 2006年2月 (3)
文章分類(14)
文章檔案(42)
- 2006年9月 (24)
- 2006年7月 (5)
- 2006年6月 (2)
- 2006年3月 (3)
- 2005年11月 (1)
- 2005年3月 (1)
- 2004年10月 (1)
- 2004年5月 (1)
- 2004年1月 (1)
- 2003年11月 (3)
收藏夾(37)
java
oracle
Sybase
搜索
積分與排名
- 積分 - 211033
- 排名 - 266
最新評(píng)論

- 1.?re: document.getElementsByName()的用法
- 455656
- --525233
- 2.?re: 討論:Java 接口當(dāng)中的 “常量接口”
- 評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
- --maaoi
- 3.?re: document.getElementsByName()的用法
- 謝謝,很明了
- --sf
- 4.?re: Ant:編寫(xiě)build.xml的方法
- 學(xué)習(xí)了
- --sss
- 5.?re: Java 堆與棧的使用
-
你是個(gè)sb嗎?
- --zr