台灣最大程式設計社群網站
線上人數
796
 
會員總數:245216
討論主題:189089
歡迎您免費加入會員
討論區列表 >> 專欄文章 >> C#的 Builder 建造者模式用法
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
C#的 Builder 建造者模式用法
價值 : 0 QP  點閱數:921 回應數:0

樓主

E-Troy 版主
初學者
80 52
283 11
發送站內信

開發遊戲裡,房屋的構建由許多部分組成,且各個部分各有變化。如果使用最直觀的設計方法,每一個房屋部分的變化,都會讓房屋構建的重新修正。

一開始在JSON的建立一段程式碼:

在軟體系統中,有時候是一個複雜物件的創建工作,由各個部分的子物件用一定演算法構成,因需求的變化,會經常面臨著劇烈的變化,但是將它們組合到一起的演算法卻相對穩定。
所以必須提供一種封裝機制來隔離出複雜物件的各個部分的變化,保持系統中的穩定構建演算法,不隨需求的改變而改變。

當創建複雜物件的演算法應該獨立於該物件的組成部分以及它們的裝配方式,所以一個房子裡組的成員,門,牆....等等,個別獨立出來。當構造過程必須允許被構造的物件有不同的表示,


從上面的結構,就可以依法泡製,產生各種不同的房子物件屬性,可以是中國風,羅馬風,法式風格,建構出各個不同建築物,再分別封裝。當然,建構函式,就可以隨著程式員的需求而個別變動,即便是再大的程式變動,也不會互相影響。


上面建構一個場景設計師的類別。

Builder主要用於「複雜的對象的逐一建構」,產生一個穩定的流程結構,而複雜物件的各個部分則經常變化,應對「物件每一個部分」的頻繁需求變動。缺點在於難以依照“逐一建構演算法”的需求變動。

在筆者一篇裡的Abstract Factory,它是解決“系列物件”的需求變化,Builder模式解決“物件部分”的需求變化,這兩者是可以搭配使用,依設計需求的解析,進而達到模組化設計的概念。

搜尋相關Tags的文章: [ C# ] , [ Design Pattern ] , [ Builder ] ,
本篇文章發表於2015-08-24 14:06
== 簽名檔 ==
上帝的藝術-電腦神手的領域 - http://etroy.pixnet.net/blog
上帝的藝術-微軟的神域 - http://etroy-com.blogspot.tw/
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
目前尚無任何回覆
   

回覆
如要回應,請先登入.