建造者模式(builder pattern)也叫做生成器模式。
定義:
將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。
通用類圖:
通用**:
/*** 產品類
* * @author administrator
* */
public class product
}
/*** 抽象建造者
* * @author administrator
* */
public abstract class builder
/**如果有多個產品類就有幾個具體的建造者,而且這多個產品類具有相同介面或抽象類。* 具體建造者
* * @author administrator
* */
public class concreteproduct extends builder
// 設定產品零件
@override
public void setpart()
}
/**導演類起到封裝的作用,避免高層模組深入到建造者內部的實現類。當然,在建造者模式比較龐大時,導演類可以有多個。* 導演類
* * @author administrator
* */
public class director
}
建造者模式的優點:
封裝性 使用建造者模式可以是客戶端不必知道產品內部組成的細節。
建造者獨立,容易擴充套件
便於控制細節風險 由於具體的建造者是獨立的,因此可以對建造過程逐步細化,而不對其他的模組產生任何影響。
建造者模式的使用場景:
相同的方法,不同的執行順序,產生不同的事件結果時,可以採用建造者模式。
多個部件或零件,都可以裝配到乙個物件中,但是產生的執行結果又不相同時,則可以使用該模式。
產品類非常複雜,或者產品類中的呼叫順序不同產生了不同的效能,這個時候使用建造者模式非常合適。
在物件的建立過程中會使用到系統中的一些其他物件,這些物件在產品物件的建立過程中不易得到時,也可以使用建造者模式封裝該物件的建立過程。該種場景只能是乙個補償方法,因為乙個物件不容易獲得,而在設計階段竟然沒有發覺,而要通過建立者模式柔化建立過程,這本身已經違反設計的最初目標。
建立者模式的注意事項:
建立者模式關注的是零件型別和裝配工藝(順序),這是它與工廠方法模式最大不同的地方。
建造者模式最主要的功能是基本方法的呼叫順序安排,也就是這些基本方法已經實現了,通俗地說就是零件的裝配,順序不同產生的物件也不同;而工廠方法則重點是建立,建立零件是它的主要責任,組裝順序則不是它關係的。
建立型設計模式之建造者模式
建造者模式 主要用於將產品修飾的這部分內容抽象化,提供給外部乙個自由定製的修飾渠道,達到自由切換修飾規則但是不用修改舊 的效果。帶有抽象介面的建造者模式主要涉及的物件有 引導者 decorate 產品 抽象建造者介面 builder 定製化的builder。打個比方,我開著一輛拖拉機去石料場運載建築...
建立型設計模式之 建造者模式
建造者模式也被稱為生成器模式,它是建立乙個複雜物件的建立型模式,其將構建複雜物件的過程和它的部件解耦,使得構建過程和部件的表示分離開來。我們接著用工廠模式中的果園舉例,我們的水果店為了吸引老顧客 以及新顧客辦理會員,推出了各式各樣的 活動,例如會員購買蘋果 香蕉 桔子可以減15元 假日 活動可以立減...
設計模式建立型之建造者模式
有時需要建立乙個複雜物件,並且這個複雜物件由其各部分子物件通過一定的步驟組合而成。比如我們要生產乙個車,而車是由其它一些配件如引擎,車燈,輪子等組成。而且組裝是有一定順序的。如下 生產引擎 public class engine 生產車燈 public light 輪子 public class w...