您的位置:首页 > 其它

创造者模式

2017-02-19 15:50 260 查看
/**
* 工人接口,定义各个工人要进行的工作
*/
public interface Builder {

public void makeWindow();

public void makeDoor();

public Room getRoom();
}


/**
* 设计师,负责指挥工人建造
*/
public class Dsigner {
public void order(Builder builder) {
builder.makeWindow();
builder.makeDoor();
}
}


/**
* 工人,负责建造,若window与door不为空,则提交房子给房主
*/
public class Worker implements Builder {
private String window;
private String door;

public void makeWindow() {
window = "window";
}

public void makeDoor() {
door = "door";
}

public Room getRoom() {
if ((!"".equals(window)) && (!"".equals(door))) {
return new Room();
}
return null;
}

}


/**
* 房主,聘请工人,设计师
* 设计师设计房子,设计师指挥工人建造房子,最后从工人手上收房。
*/
public class Client {
public static void main(String[] args) {
Dsigner dsigner = new Dsigner();
Worker worker = new Worker();
dsigner.order(worker);
worker.getRoom();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: