9.建造者模式

建造者模式:主要用于创建一些复杂的对象,这些对象内部构建间的构造顺序通常是稳定的,但对象内部的构建通常面临复杂变化

import java.util.ArrayList;

import java.util.List;

/**

* 建造者模式:

* 关键:

* 指挥类(Dircetor):传入建造者类,并定义按顺序执行建造者中的方法

* 建造者接口:定义执行的方法

* 具体建造者:实现建造者接口中的方法

* Builder

* @author zbl

*

*/

public class BuilderCustomer {

public static void main(String[] args) {

Builder builder = new ConcreteBuilderA();

Director director = new Director(builder);

director.Construct();

Product result = builder.getResult();

result.show();

}

}

class Director{

private Builder builder;

public Director(Builder builder) {

super();

this.builder = builder;

}

public void Construct(){

builder.buildPart1();

builder.buildPart2();

}

}

interface Builder{

public void buildPart1();

public void buildPart2();

public Product getResult();

}

class ConcreteBuilderA implements Builder{

private Product product = new Product();

@Override

public void buildPart1() {

product.add("xiix");

}

@Override

public void buildPart2() {

product.add("hah");

}

@Override

public Product getResult() {

return product;

}

}

class Product{

private List<String> parts = new ArrayList<>();

public void add(String str){

parts.add(str);

}

public void show(){

for(String s : parts){

System.out.println(s);

}

}

}

猜你喜欢

转载自blog.csdn.net/littlelittleguai/article/details/84381441