设计模式之建造者模式
建造者模式:将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。
1.建造者
public interface Builder{ public void buildBody(); public void buildHead(); public Product getProducts(); }
2.具体的建造者
public class ConcreteBuilder implements Builder { private Product product = new Product(); @Override public void buildBody() { product.addProduct("Body"); } @Override public void buildHead() { product.addProduct("Head"); } @Override public Product getProducts() { return product; } }
3.产品类
public class Product{ List<String> lists=new ArrayList<>(); public void addProduct(String pro){ lists.add(pro); } public void showProduct(){ System.out.println("Building..."); for (String list : lists) { System.out.println(list); } } }
4.指挥者
public class Director{ public void buildResult(Builder builder){ builder.buildBody(); builder.buildHead(); } }
5.Demo
public class BuilderDemo{ public static void main(String[] args) { Director director = new Director(); Builder builder = new ConcreteBuilder(); director.buildResult(builder); Product product = builder.getProducts(); product.showProduct(); } }
知识的学习,要真诚与谦虚才不会有眼无珠,人生苦短,不能浪费时间做无用功。
人生学习最悲哀的不过是,因为无知傲慢错过真正的好东西,又因为无知贪婪在假东西上耗费生命。