1.Builder设计模式角色
Director
Builder
TextBuilder
HTMLBuilder
Director:规定了要用到的内容,没用说要怎样去处理这些内容。就像是修建房子,可以有各种不同的风格,Director提供材料,比如是砖。
Builder:抽象类,是TextBuilder与HTMLBuilder的基类。
TextBuilder:是具体的处理,比如Director提供的是砖块,那么它就要利用砖块来造房子,并且有特定的实现方法,比如要修建哥特式的房子。
另外Director与Builder是聚合的关系。Director利用Builder来建造整个房子。
2.示例代码:
import java.io.*;
abstract class Builder {
public abstract void makeTitle(String title);
public abstract void makeString(String str);
public abstract void makeItems(String[] items);
public abstract Object getResult();
}
class Director {
private Builder builder;
public Director(Builder builder) {
this.builder = builder;
}
public Object construct() {
builder.makeTitle("Greeting");
builder.makeString("从早上到白天结束&#