构造者模式解析:
Builder:是为创建一个Product对象的各个部件指定的抽象接口
ConcreteBuilder:它是具体的构建者,实现Builder接口,构造和装配各个部件。
Product:具体的产品
Director:指挥者,它是构建一个使用Builder接口的对象。
1.创建产品类:
//产品类:一般在产品类中写入要构建的一些功能. public class Product{ public Product(){ } }
2.抽象构造方法(这里一般是写构建的每一个细节)
//抽象建造方法:3.实现建造类,产品的零件制造abstract public class Builder{ public abstract void buildPart1();//这里代表构建的细节 public abstract void buildPart2(); public abstract Product creat(); }
//具体的建造类:产品的零件制造 public class ConcreteBuilder extends Builder{ private Product product = new Product() ; public void buildPart1(){ System.out.println("build part one."); } public void buildPart2(){ System.out.println("build part two."); } public Product create(){ return product; } }4.产品的建造过程
//产品的建造过程: public class Director{ private Builder builder; public Director(Builder builder){ this.builder = builder; } public void construct(){ builder = new ConcreteBuilder(); builder.buildPart1(); builder.buildPart2(); builder.create(); //continue with other code } }
5.测试
//测试: public class Client{ private static Director director; private static Builder builder = new ConcreteBuilder(); public void requestBuild(){ // director = new Director(builder); } public static void main(String[] args) { director = new Director(builder); director.construct(); } }