1700476949
1700476950
}
1700476951
1700476952
}
1700476953
1700476954
两个建造车间都已经完成,那现在的问题就变成了怎么让车间运作,谁来编写蓝图?谁来协调生产车间?谁来对外提供最终产品?于是导演类出场了,它不仅仅有每个车间需要的设计蓝图,还具有指导不同车间装配顺序的职责,如代码清单30-29所示。
1700476955
1700476956
代码清单30-29 导演类
1700476957
1700476958
public class Director{
1700476959
1700476960
//声明对建造者的引用
1700476961
1700476962
private CarBuilder benzBuilder=new BenzBuilder();
1700476963
1700476964
private CarBuilder bmwBuilder=new BMWBuilder();
1700476965
1700476966
//生产奔驰SUV
1700476967
1700476968
public ICar createBenzSuv(){
1700476969
1700476970
//制造出汽车
1700476971
1700476972
return createCar(benzBuilder,“benz的引擎”,“benz的轮胎”);
1700476973
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();
[
上一页 ]
[ :1.700476949e+09 ]
[
下一页 ]