1700476974
}
1700476975
1700476976
//生产出一辆宝马商务车
1700476977
1700476978
public ICar createBMWVan(){
1700476979
1700476980
return createCar(benzBuilder,“BMW的引擎”,“BMW的轮胎”);
1700476981
1700476982
}
1700476983
1700476984
//生产出一个混合车型
1700476985
1700476986
public ICar createComplexCar(){
1700476987
1700476988
return createCar(bmwBuilder,“BMW的引擎”,“benz的轮胎”);
1700476989
1700476990
}
1700476991
1700476992
//生产车辆
1700476993
1700476994
private ICar createCar(CarBuilder_carBuilder,String engine,String wheel){
1700476995
1700476996
//导演怀揣蓝图
1700476997
1700476998
Blueprint bp=new Blueprint();
1700476999
1700477000
bp.setEngine(engine);
1700477001
1700477002
bp.setWheel(wheel);
1700477003
1700477004
System.out.println(“获得生产蓝图”);
1700477005
1700477006
_carBuilder.receiveBlueprint(bp);
1700477007
1700477008
return_carBuilder.buildCar();
1700477009
1700477010
}
1700477011
1700477012
}
1700477013
1700477014
这里有一个私有方法createCar,其作用是减少导演类中的方法对蓝图的依赖,全部由该方法来完成。我们编写一个场景类,如代码清单30-30所示。
1700477015
1700477016
代码清单30-30 场景类
1700477017
1700477018
public class Client{
1700477019
1700477020
public static void main(String[]args){
1700477021
1700477022
//定义出导演类
1700477023
[
上一页 ]
[ :1.700476974e+09 ]
[
下一页 ]