import java.util.ArrayList;
import java.util.List;
class House {
private List<String> data = new ArrayList<String>();
public void add(String s) {
this.data.add(s);
}
@Override
public String toString() {
return "House [data=" + data + "]";
}
}
interface Builder {
public void buildWindows();
public void buildDoors();
public void buildFloor();
public void buildCeiling();
public House getResult();
}
class HouseBuilder implements Builder {
private House house=null;
@Override
public void buildWindows() {
System.out.println("I am build the Windows");
this.house.add("Windows");
}
@Override
public void buildDoors() {
System.out.println("I am build the Doors");
this.house.add("Doors");
}
@Override
public void buildFloor() {
System.out.println("I am build the Floor");
this.house.add("Floor");
}
@Override
public void buildCeiling() {
System.out.println("I am build the Ceiling");
this.house.add("Ceiling");
}
public HouseBuilder(House house) {
super();
this.house = house;
}
@Override
public House getResult(){
return this.house;
}
}
abstract class AbstractDirector {
public abstract void build(Builder builder);
}
class HouseDirector extends AbstractDirector {
@Override
public void build(Builder builder) {
builder.buildCeiling();
builder.buildDoors();
builder.buildFloor();
builder.buildWindows();
}
}
public class Main {
public static void main(String[] args) {
AbstractDirector director=new HouseDirector();
Builder builder=new HouseBuilder(new House());
director.build(builder);
System.out.println(builder.getResult());
}
}
07-10
07-10
07-10
07-10
07-10
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交