1700476924
}
1700476925
1700476926
public String buildWheel(){
1700476927
1700476928
return super.getBlueprint().getWheel();
1700476929
1700476930
}
1700476931
1700476932
}
1700476933
1700476934
这是非常简单的类。只要获得一个蓝图,然后按照蓝图制造引擎和车轮即可,剩下的事情就交给抽象的建造者进行装配。奔驰车间与此类似,如代码清单30-28所示。
1700476935
1700476936
代码清单30-28 奔驰车建造车间
1700476937
1700476938
public class BenzBuilder extends CarBuilder{
1700476939
1700476940
public String buildEngine(){
1700476941
1700476942
return super.getBlueprint().getEngine();
1700476943
1700476944
}
1700476945
1700476946
public String buildWheel(){
1700476947
1700476948
return super.getBlueprint().getWheel();
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
[
上一页 ]
[ :1.700476924e+09 ]
[
下一页 ]