打字猴:1.700476273e+09
1700476273
1700476274 注意 通过工厂方法模式生产出对象,然后由客户端进行对象的其他操作,但是并不代表所有生产出的对象都必须具有相同的状态和行为,它是由产品所决定。
1700476275
1700476276
1700476277
1700476278
1700476279 设计模式之禅 30.1.2 按建造者模式建造超人
1700476280
1700476281 我们再来看看建造者模式是如何生产超人的,如图30-2所示。
1700476282
1700476283
1700476284
1700476285
1700476286 图30-2 按建造者模式生产超人
1700476287
1700476288 又是一个典型的建造者模式!哎,不对呀!通用模式上抽象建造者与产品类没有关系呀!是的,我们当然可以加强了,我们在抽象建造者上使用了模板方法模式,每一个建造者都必须返回一个产品,但是产品是如何制造的,则由各个建造者自己负责。我们来看看程序,先看产品类,如代码清单30-6所示。
1700476289
1700476290 代码清单30-6 超人产品
1700476291
1700476292 public class SuperMan{
1700476293
1700476294 //超人的躯体
1700476295
1700476296 private String body;
1700476297
1700476298 //超人的特殊技能
1700476299
1700476300 private String specialTalent;
1700476301
1700476302 //超人的标志
1700476303
1700476304 private String specialSymbol;
1700476305
1700476306 public String getBody(){
1700476307
1700476308 return body;
1700476309
1700476310 }
1700476311
1700476312 public void setBody(String body){
1700476313
1700476314 this.body=body;
1700476315
1700476316 }
1700476317
1700476318 public String getSpecialTalent(){
1700476319
1700476320 return specialTalent;
1700476321
1700476322 }
[ 上一页 ]  [ :1.700476273e+09 ]  [ 下一页 ]