打字猴:1.700476704e+09
1700476704 代码清单30-22 场景类
1700476705
1700476706 public class Client{
1700476707
1700476708 public static void main(String[]args){
1700476709
1700476710 //要求生产一辆奔驰SUV
1700476711
1700476712 System.out.println(”===要求生产一辆奔驰SUV===”);
1700476713
1700476714 //首先找到生产奔驰车的工厂
1700476715
1700476716 System.out.println(“A、找到奔驰车工厂”);
1700476717
1700476718 CarFactory carFactory=new BenzFactory();
1700476719
1700476720 //开始生产奔驰SUV
1700476721
1700476722 System.out.println(“B、开始生产奔驰SUV”);
1700476723
1700476724 ICar benzSuv=carFactory.createSuv();
1700476725
1700476726 //生产完毕,展示一下车辆信息
1700476727
1700476728 System.out.println(“C、生产出的汽车如下:”);
1700476729
1700476730 System.out.println(“汽车品牌:”+benzSuv.getBand());
1700476731
1700476732 System.out.println(“汽车型号:”+benzSuv.getModel());
1700476733
1700476734 }
1700476735
1700476736 }
1700476737
1700476738 运行结果如下所示:
1700476739
1700476740 ===要求生产一辆奔驰SUV===
1700476741
1700476742 A、找到奔驰车工厂
1700476743
1700476744 B、开始生产奔驰SUV
1700476745
1700476746 C、生产出的汽车如下:
1700476747
1700476748 汽车品牌:奔驰汽车
1700476749
1700476750 汽车型号:G系列SUV
1700476751
1700476752 对外界调用者来说,只要更换一个具备相同结构的对象,即可发生非常大的改变,如我们原本使用BenzFactory生产汽车,但是过了一段时间后,我们的系统需要生产宝马汽车,这对系统来说不需要很大的改动,只要把工厂类使用BMWFactory代替即可,立刻可以生产出宝马车,注意这里生产的是一辆完整的车,对于一个产品,只要给出产品代码(车类型)即可生产,抽象工厂模式把一辆车认为是一个完整的、不可拆分的对象。它注重完整性,一个产品一旦找到一个工厂生产,那就是固定的型号,不会出现一个宝马工厂生产奔驰车的情况。那现在的问题是我们就想要一辆混合的车型,如奔驰的引擎,宝马的车轮,那该怎么处理呢?使用我们的建造者模式!
1700476753
[ 上一页 ]  [ :1.700476704e+09 ]  [ 下一页 ]