常用设计模式总结--生成器模式

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);
  
  
 }
}

 

 

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