声明接口
package com.zhao.sina.design.patterns.builder;
public interface IBuildRobot {
public void buildHead();
public void buildBody();
public void buildHand();
public void buildFoot();
public Robot createRobot ();
}
创建建造者类
package com.zhao.sina.design.patterns.builder;
public class DanceRobotBuilder implements IBuildRobot {
Robot robot;
public DanceRobotBuilder(){
robot = new Robot ();
}
@Override
public void buildHead() {
robot.setHead("写入机械舞程序");
}
@Override
public void buildBody() {
robot.setBody("钛合金身体");
}
@Override
public void buildHand() {
robot.setHand("钛合金手");
}
@Override
public void buildFoot() {
robot.setFoot("钛合金脚");
}
@Override
public Robot createRobot () {
return robot;
}
}
创建实体类
package com.zhao.sina.design.patterns.builder;
public class Robot {
private String head;
private String body;
private String hand;
private String foot;
public String getHead() {
return head;
}
public void setHead(String head) {
this.head = head;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getHand() {
return hand;
}
public void setHand(String hand) {
this.hand = hand;
}
public String getFoot() {
return foot;
}
public void setFoot(String foot) {
this.foot = foot;
}
}
实际创建对象者
package com.zhao.sina.design.patterns.builder;
public class Director {
public Robot createRobotByDirecotr(IBuildRobot ibr){
ibr.buildBody();
ibr.buildFoot();
ibr.buildHand();
ibr.buildHead();
return ibr.createRobot ();
}
}
测试程序
package com.zhao.sina.design.patterns.builder;
public class BuilderTest {
public static void main(String[] args){
Director director = new Director();
Robot robot = director.createRobotByDirecotr(new DanceRobotBuilder());
System.out.println(robot.getHead());
System.out.println(robot.getBody());
System.out.println(robot.getHand());
System.out.println(robot.getFoot());
System.out.println("机器人创建成功,恭喜!");
}
}
写入机械舞程序
钛合金身体
钛合金手
钛合金脚
机器人创建成功,恭喜!