设计模式——建造者模式

前言

建造者模式属于设计模式中的创建型的设计模式。建造者模式主要用来创建复杂的对象,而不用关心创建对象的过程和细节。

建造者模式的实现

下面以组装电脑为例,来看看建造者模式的实现:

(1)具体的产品类:包含了一个产品的一些属性

public class Computer {
    private String mCpu;
    private String mMemory;
    private String mHD;

    public void setCpu(String mCpu) {
        this.mCpu = mCpu;
    }

    public void setMemory(String mMemory) {
        this.mMemory = mMemory;
    }

    public void setHD(String mHD) {
        this.mHD = mHD;
    }
}

(2)抽象的建造者类:包含了建造产品的一些抽象方法

public abstract class Builder {

    public abstract void buildCpu(String cpu);

    public abstract  void buildMemory(String memory);

    public abstract  void buildHD(String hd);

    public abstract Computer getComputer();
}

(3)具体的建造者类:继承于抽象的建造者,里面包含了一些建造产品的具体方法

public class ConcreteBuilder extends Builder {

    Computer computer=new Computer();

    @Override
    public void buildCpu(String cpu) {
        computer.setCpu(cpu);
    }

    @Override
    public void buildMemory(String memory) {
        computer.setMemory(memory);
    }

    @Override
    public void buildHD(String hd) {
        computer.setHD(hd);
    }

    @Override
    public Computer getComputer() {
        return computer;
    }
}

(4)指挥者类:相当于对接需求的一个类,把生产建造产品的需求告诉建造者类

public class Director {
    private Builder builder=null;

    public Director(Builder builder) {
        this.builder = builder;
    }

    public void construct(String cpu,String memory,String hd){
        builder.buildCpu(cpu);
        builder.buildMemory(memory);
        builder.buildHD(hd);
    }
}

测试

public static void main(String[] args) {
      Builder builder=new ConcreteBuilder();
      Director director=new Director(builder);
      director.construct("CPU","Memory","HD");
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值