1,定義勞工接口 ,就是能夠完成建造房子任務的人的通用要求。
java 代碼
- // 勞工接口,定義了各個勞工所要進行的工所作。他們負責進行具體部件如窗戶,地闆的建造。
- // 同時因為房子是民工建的,是以建設完成後由他把房子遞交回房主
- public interface Builder {
- public void makeWindow();
- public void makeFloor();
- public Room getRoom();
- }
2,定義設計師 ,他的職責是指揮房主指派給他的勞工按照自己的設計意圖建造房子。
java 代碼
- // 設計師。他知道房子應該怎麼設計,但他不會自己去建造,而是指揮民工去建造。
- public class Designer {
- // 指揮民工進行工作
- public void order(Builder builder) {
- builder.makeWindow();
- builder.makeFloor();
- }
- }
3,民工 ,他負責具體事物的實施。
java 代碼
- // 民工。負責進行具體部件如窗戶,地闆的建造。
- //同時因為房子是民工建的,是以建設完成後由他把房子遞交回房主
- public class Mingong implements Builder {
- private String window="";
- private String floor="";
- public void makeWindow() {
- window=new String("window");
- }
- public void makeFloor(){
- floor=new String("floor");
- }
- // 回交房子給房主
- public Room getRoom() {
- if((!window.equals(""))&&(!floor.equals(""))) {
- System.out.println("room ready!");
- return new Room();
- }
- else return null;
- }
- }
4,房主 ,就是雇人,收房。
java 代碼
- // 房主。房主的任務就是聘請一個民工,一個設計師,同時把民工給設計師指揮,督促設計師開展工作。最後從民工手上收房。
- public class Client {
- public static void main(String[] args) {
- Builder mingong = new Mingong();
- Designer designer = new Designer();
- designer.order(mingong);
- mingong.getRoom();
- }
- }
轉載于 lintomny ,感謝、!