设计模式之build

build模式

build模式处理的是内部复杂对象,例如汽车作为一个类,其内部结构复杂,可以采用build模式对汽车内部各个组件(工厂模式生成)进行建模。

今天学到一招,像Stream一样使用buidler模式创建对象,这样创建对象,简洁易读。

1
2
3
4
5
6
Product goods = new ProductBuilder()
.id("1")
.name("rice")
.origin("china")
.type("food")
.builder();

实现逻辑

public class ProductBuilder {
private Product product;

public ProductBuilder() {
    this.product = new Product();
}

public ProductBuilder id(String id){
    this.product.setProductID(id);
    return this;
}

public ProductBuilder type(String type){
    this.product.setProductType(type);
    return this;
}

public ProductBuilder name(String name){
    this.product.setProductName(name);
    return this;
}

public ProductBuilder origin(String origin){
    this.product.setProductOrigin(origin);
    return this;
}

public Product builder(){
    return this.product;
}

}