常用設計模式總結--生成器模式

Builder ,生成器模式。

Builder 模式將一個對象的創建與表示分離,從而使得相同的創建過程可以創建出不同的表示對象。

仍以汽車工廠舉例,一個汽車集團下面有許多工廠,每個工廠生產出不同的車型。站在集團的層面,其實集團只需要知道工廠造輪子,造引擎,而並不關心輪子的具體尺寸,引擎的具體馬力,它只需要知道工廠最終返回的給它的是一輛完整的汽車,就一切 ok

類圖

 

生成器模式

在這個類圖中,省略了 Wheel,Engine,Vehicle DasAuto 爲新引入的一個類,包含着一個對具體 builder 父類的引用。而 VehicleBuilder 中加入一個 getVehicle ()的方法,用來返回創建的 Vehicle

 

代碼

對於汽車的零件,參考抽象工廠的日誌

 

1 DasAuto

 

2 VehicleBuilder

 

 

3 NormalVehicleBuilder

 

4 RaceVehicleBuilder

 

5 測試程序

 

package zl.study.designpattern.builder.test;

 

import zl.study.designpattern.builder.DasAuto;
import zl.study.designpattern.builder.NormalVehicleBuilder;
import zl.study.designpattern.builder.Vehicle;
import zl.study.designpattern.builder.VehicleBuilder;

public class BuilderTest {

 public static void main(String args[]){
  VehicleBuilder builder = new NormalVehicleBuilder();
  
  DasAuto dasAuto = new DasAuto();
  
  Vehicle normalVehicle = dasAuto.createNormalCar(builder);
  
  System.out.println(normalVehicle);
  
  
 }
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章