打字猴:1.700476924e+09
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 ]  [ 下一页 ]