其實我對建造者模式的理解,倒是有些聚合合并的原則在里面.這只是我個人的理解.
但是對于建造者模式來說:對于客戶端來說,相關(guān)的產(chǎn)品內(nèi)部的元件的建立都是被隱藏的.我們通過相關(guān)的角色去完成產(chǎn)品對象及其元件的建立.
引用<Java模式>的一句話是這樣說的:一個導演者對象和具體建造者對象一個一個地建造出所有的零件,從而建造出完整的產(chǎn)品對象.建造者模式將產(chǎn)品的結(jié)構(gòu)和產(chǎn)品的零件建造過程對客戶端隱藏起來,把對建造過程進行指揮的責任和具體建造者零件的責任侵害開來.達到責任劃分和封裝的目的.
我覺得建造者模式當中:相關(guān)角色的定義是最為重要的.它們各司其職,而又互不干涉.
抽象建造者角色:它是一個抽象接口,給出了建立相關(guān)元件的方法及一個返回對象的方法.這個接口必須由具體建造者角色來實現(xiàn).
具體建造者角色:它有兩個作用:第一是實現(xiàn)抽象建造者角色聲明的方法
第二就是提供產(chǎn)品對象的實例.
導演者角色:它是一個中間轉(zhuǎn)換類.它實現(xiàn)了構(gòu)建相關(guān)元件的方法,調(diào)用具體建造者類.
產(chǎn)品角色:具體的產(chǎn)品類的實現(xiàn).
posted on 2006-08-15 10:41
水煮三國 閱讀(736)
評論(0) 編輯 收藏 所屬分類:
J2SE