建造者模式:
将一个复杂对象的构建与它的表示部分分离,使得同样的构建过程可以创建不同的表示。
个人见解:
建造者模式是模版模式的加强版,每个实体类的构建更灵活。这种灵活的构建逻辑需要director来管理。
模版:
/** * 产品类 * @author Administrator * */ public class Product { public void doSomething(){ //独立业务处理 } } /** * 抽象建造者 * @author Administrator * */ public abstract class Builder { //设置产品的不同部分,以获得不同的产品 public abstract void setPart(); //建造产品 public abstract Product buildProduct(); } public class ConcreteProduct extends Builder { private Product product = new Product(); @Override public void setPart() { /* * 产品内的逻辑处理 */ } @Override public Product buildProduct() { return product; } } /** * 导演类 * @author Administrator * */ public class Director { private Builder builder = new ConcreteProduct(); //构建不同产品 public Product getAProduct(){ builder.setPart(); /* * 设置不同的逻辑,产生不同的产品 */ return builder.buildProduct(); } }