1700459636
//100万辆B类型的奔驰车
1700459637
1700459638
for(int i=0;i<1000000;i++){
1700459639
1700459640
director.getBBenzModel().run();
1700459641
1700459642
}
1700459643
1700459644
//1000万辆C类型的宝马车
1700459645
1700459646
for(int i=0;i<10000000;i++){
1700459647
1700459648
director.getCBMWModel().run();
1700459649
1700459650
}
1700459651
1700459652
}
1700459653
1700459654
}
1700459655
1700459656
清晰、简单吧,我们写程序重构的最终目的就是:简单、清晰。代码是让人看的,不是写完就完事了,我一直在教育我带的团队成员,Java程序不是像我们前辈写二进制代码、汇编一样,写完基本上就自己能看懂,别人看就跟看天书一样,现在的高级语言,要像写中文汉字一样,你写的,别人能看懂。这就是建造者模式。
1700459657
1700459658
1700459659
1700459660
1700459662
设计模式之禅 11.2 建造者模式的定义
1700459663
1700459664
建造者模式(Builder Pattern)也叫做生成器模式,其定义如下:
1700459665
1700459666
Separate the construction of a complex object from its representation so that the same construction process can create different representations.(将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。)
1700459667
1700459668
建造者模式的通用类图如图11-4所示。
1700459669
1700459670
1700459671
1700459672
1700459673
图11-4 建造者模式通用类图
1700459674
1700459675
在建造者模式中,有如下4个角色:
1700459676
1700459677
❑Product产品类
1700459678
1700459679
通常是实现了模板方法模式,也就是有模板方法和基本方法,这个参考第10章的模板方法模式。例子中的BenzModel和BMWModel就属于产品类。
1700459680
1700459681
❑Builder抽象建造者
1700459682
1700459683
规范产品的组建,一般是由子类实现。例子中的CarBuilder就属于抽象建造者。
1700459684
1700459685
❑ConcreteBuilder具体建造者
[
上一页 ]
[ :1.700459636e+09 ]
[
下一页 ]