建造者模式

声明接口

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("机器人创建成功,恭喜!");
    } 
}
写入机械舞程序
钛合金身体
钛合金手
钛合金脚
机器人创建成功,恭喜!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值