打字猴:1.700459636e+09
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
1700459661 设计模式之禅 [:1700453957]
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 ]  [ 下一页 ]