不知道大家有没有我这种体会,建造者模式,builder,生成器模式,这三个好像啊,哈哈, 好了 开始我们今天的学习,
image.pngbuilder 讲一个复杂对象的构建与他的表示分离,是的同样的构建过程可以创建不同的表示
image.png在写程序之前 大家 思考一下这个和工厂有什么不同的 builder和下面的继承这个builder和工厂的哪一步一样?
和这一步一样 ,那么区别呢?
ifactory抽象工厂和具体工厂模式替换成了Director,
Director和builder是聚合关系,用Director来达到创建对象的逻辑。 而不同的对象 是通过继承builder
建造模式 他创建比较复杂的对象 而且特点是 对象的创建和构造过程是分离的,每一步都是有步骤,不像是工厂 他的创建和构造是同步的。通过ifactory就完成了,
public class work {
}
package com.dictory;
public abstract class httpworkbuilder {
public abstract void setlaijie();
public abstract void setshuju();
public abstract work getwork();
}
package com.dictory;
public class jhttpwork extends httpworkbuilder {
private work work = new work();
@Override
public void setlaijie() {
}
@Override
public void setshuju() {
}
@Override
public work getwork() {
return work;
}
}
package com.dictory;
public class director {
public void Construct(httpworkbuilder httpwork){
httpwork.setlaijie();
httpwork.setshuju();
}
}
/**
* builderm模式
* 思考一下 和上面的有什么关系
* work的创建和构建是分离的
* 构建是通过director
*
*
*/
director director = new director();
httpworkbuilder httpworkbuilder = new jhttpwork();
director.Construct(httpworkbuilder);
上面是构建对象 下面是创建对象
work work = httpworkbuilder.getwork();
网友评论