設計模式之 生成器模式

2021-08-26 00:24:10 字數 829 閱讀 8414

在產品結構比較複雜,構造過程比較繁瑣,一次性構造比較難的時候,我們可以採取分而治之的原則,將產品元件化,每個元件由專門的廠商來生產,最後的產品指派給制定的車間進行最後裝配.這種方式其實是現代製造業的一種典型的模式.比如汽車,飛機的製造等.這樣做的好處是:

1.產品的部件由專門的生產廠商來生產,這樣分工更加明確,更加精細,生產專業化,可以降低成本;

2.整個產品的生產更加簡單,也可增加零件的復用.

3.轉換生產比較容易,比如產品的材質發生變化,只需要找相應提供該材質的廠商即可.

這其實就是典型的生成器模式.生成器模式有4個角色:

a.抽象生成器:提供生成器的抽象表達,具體的生成由子類完成.抽象生成器可保持乙個產品的引用;

b.具體生成器:每個具體的生成器提供乙個對產品各個部分的構造方法.同時提供乙個對最終產品進行訪問的方法.

c.產品:需要構造的產品,該產品可以元件化來生產;

d.構造指導者:其實就是產品裝配車間,構造過程和順序都是固定的.

生成器模式的好處:

1.同其它建立型模式一樣實現了產品的使用和建立的責任分離;

2.延遲了產品的構建過程;

3.可以通過指定不同的生成器來生成不同形式的產品;

4.將產品的構造元件化,降低了產品的生產和管理的難度.

抽象模式也可以完成上述功能,但抽象模式並不為專門是來構造複雜物件的.生成器模式更加關注一種產品本身的構造過程.

生成器模式乙個比較典型而非常有用的應用就是構造sql語句,特別做一些動態查詢業務的時候非常有用。比如:sql語句的構造可分為select部分構造,where條件構造,order by,group by 構造等部分。最後簡單連線起來就形成完整的sql語句.

設計模式之 生成器模式

在產品結構比較複雜,構造過程比較繁瑣,一次性構造比較難的時候,我們可以採取分而治之的原則,將產品元件化,每個元件由專門的廠商來生產,最後的產品指派給制定的車間進行最後裝配.這種方式其實是現代製造業的一種典型的模式.比如汽車,飛機的製造等.這樣做的好處是 1.產品的部件由專門的生產廠商來生產,這樣分工...

設計模式之 生成器模式

在產品結構比較複雜,構造過程比較繁瑣,一次性構造比較難的時候,我們可以採取分而治之的原則,將產品元件化,每個元件由專門的廠商來生產,最後的產品指派給制定的車間進行最後裝配.這種方式其實是現代製造業的一種典型的模式.比如汽車,飛機的製造等.這樣做的好處是 1.產品的部件由專門的生產廠商來生產,這樣分工...

設計模式之生成器模式

參考部落格1 生成器模式的核心是 當構建生成乙個物件的時候,需要包含多個步驟,雖然每個步驟具體的實現不同,但是都遵循一定的流程與規則 舉例說明 我們如果構建生成一台電腦,那麼我們可能需要這麼幾個步驟 雖然我們具體在構建一台主機的時候,每個物件的實際步驟是不一樣的,比如,有的物件構建了i7cpu的主機...