設計模式之略見一斑 建造模式builder

2021-08-25 01:17:03 字數 1122 閱讀 2919

建造模式是將複雜的內部建立封裝在內部,對於外部呼叫的人來說,只需要傳入建造者和建造工具,對於內部是如何建造成成品的,呼叫者無需關心。

建造模式很象抽象工廠模式,細微的區別的大概只有在反覆使用的方能體會。

舉個簡單的例子,如汽車,有很多部件,車輪,方向盤,發動機還有各種小零件等等,部件很多,但遠不止這些,如何將這些部件裝配成一部汽車,這個裝配過程也很複雜(需要很好的組裝技術), builder模式就是為了將部件和組裝分開。

下面就簡單列出**:

director(建造者)利用builder(建造工具)來建立這個產品

首先是乙個建造工具(builder)介面

public inte***ce builder
然後就是建造者director介面,建造者利用建造工具(builder)進行建立產品(construct方法)

public class director  

// 將部件parta partb partc最後組成複雜物件

//這裡是將車輪 方向盤和發動機組裝成汽車的過程

public void construct()

}

建造工具的具體建造方式:

public class concretebuilder implements builder ; 

public void buildpartb() ;

public void buildpartc() ;

public product getresult() ;

}

最後呼叫方式 如下:

concretebuilder builder = new concretebuilder(); //建立乙個建造工具

director director = new director( builder ); //建立(建造者)並把建造工具拿給建造者

director.construct(); //建造者利用工具進行建造

product product = builder.getresult(); //取得產品

以上方式還是蠻通俗的,哈哈,建造模式就到此為止吧

設計模式之略見一斑 建造模式builder

建造模式是將複雜的內部建立封裝在內部,對於外部呼叫的人來說,只需要傳入建造者和建造工具,對於內部是如何建造成成品的,呼叫者無需關心。建造模式很象抽象工廠模式,細微的區別的大概只有在反覆使用的方能體會。舉個簡單的例子,如汽車,有很多部件,車輪,方向盤,發動機還有各種小零件等等,部件很多,但遠不止這些,...

設計模式之略見一斑 外觀模式Facade

外觀模式又稱門面模式,它是為了給子系統中提供乙個一致的介面,從面定義了乙個高層介面 這個介面使得這一子系統更加容易使用。定義中提到的子系統指在設計中為了降低複雜性根據一定的規則,對系統進行的劃分,子系統封裝有一些類,客戶程式在使用子系統的時候,可能會像下圖一樣零亂。上面的實現中,客戶緊緊依賴在子系統...

設計模式之略見一斑 單例模式singleton

單例模式是屬於比較常用的一例,乙個類 class 在記憶體中只有乙個例項。常用方式如下 第一種 餓漢式 public class singleton 在自己內部定義自己乙個例項,是不是很奇怪?注意這是private 只供內部呼叫 private static singleton instance n...