设计模式初探(三)之建造者
定义:将对象的构造过程和表示分离;
?
复杂对象的构造过程是将对象部件话,对于每一个部件的生成,都是一步一步进行创建的,而它们的共同创建就构成了复杂对象的构造过程。但是复杂对象的表示,什么是“表示”,我疑惑,所以google,半天都不解。。。。
?
但是在Gof中的builder一节中讲到builder的运用环境:
?
当创建负责对象的算法应该独立于该对象的责成部分以及它们的装配方式时;当构造过程必须允许被构造的对象有不同的表示时;姑且我不谈论什么表示啊,过程啊,其实对于builder的运用我还想不到,或者说能力有限,我就不扯什么汽车装配的例子了,在这里,我看到effctive java中关于对象创建的时候讲到具有多个属性或者复杂参数的对象进行创建的时候除了,层叠构造,java bean中的getter,setter,还有一种方法就是通过builder创建,下面贴个代码:OwnWeb yourWeb = new OwnWeb.Builder().mail().qq().builder();?虽然在这里创建多属性对象的语句有点复杂或者说是不美观,但是对于层跌构造方法的不明朗,容易混淆参数,对于java bean的线程不安全(这个可以人工实现),builder还是不错的选择。。。