JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Software Design » GoF  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:Design Patterns 入門 - 建築者(Builder) [Re:koji]
ajyi





發文: 55
積分: 1
於 2008-07-17 10:08 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
感謝koji大願意指導一下我這初學者
我的對應方式是這樣的
Abstract Factory的Client對應Director
Abstract Factory的IFactory對應IBuilder
Abstract Factory的IProduct對應IProduct
其實兩者都對Factory(Builder)與Product抽象
而希望他們的Client(Director)要依賴於抽象而不是實體Class

我的意思是說在設計Builder Design Pattern有使用到Abstract Factory Design Pattern
而這兩種Pattern對Client來說當然是不一樣的
我想大大所提的
koji wrote:
而你說的關係 "Director與Builder及Product的關係其實就是一種Abstract Factory"好像不太正確!?
使用Abstract Factory時呼叫者不會知道他會回傳哪種product.
但是使用director時, 必須告知director他現在該利用哪種builder產生product吧!?

我想是指對這兩種Pattern的Client端來說的差異點吧?
不知道有沒有搞錯Blush

說一下我閱讀Builder的經驗,希望對其他人在閱讀時有幫助
在剛開始看Builder Pattern時
會很自然的將焦點放在IBuilder
因此也會覺得很疑惑
除了Director是一種特殊的Client外
看不出Builder與Abstract Factory太大的不同
後來看到良葛格大的網頁中最後提到的『建築者模式適用的場合,在於使得您可以依賴抽象的建築藍圖,而實際建造時可以使用不同的實例,這是其之所以命為Builder的原因。』
才對Builder有所領悟


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
14496 [精華] Design Patterns 入門 - 建築者(Builder) caterpillar 3182 2003-12-08 17:00
12358 Re:Design Patterns 入門 - 建築者(Builder) robinjam 416 2004-02-13 00:19
11872 Re:Design Patterns 入門 - 建築者(Builder) todoelie 223 2004-06-23 17:40
13409 Re:Design Patterns 入門 - 建築者(Builder) todoelie 935 2004-06-25 17:33
4926 Re:Design Patterns 入門 - 建築者(Builder) ajyi 188 2008-07-16 16:54
4884 Re:Design Patterns 入門 - 建築者(Builder) koji 488 2008-07-16 17:46
5305 Re:Design Patterns 入門 - 建築者(Builder) ajyi 815 2008-07-17 10:08
» JWorld@TW »  Software Design » GoF

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8