设计模式之建造者模式

建造者模式

就是将一个复杂的对象通过拆分,分成不同的若干的简单的部分,最后通过一个最终的指挥者将每一部分拼装顺序排好,按照相关的顺序进行构造

以构建一辆汽车为例

先创建车的对象,有轮子大小,颜色信息

public class Car {
    private String Wheel;
    private String color;

    public String getWheel() {
        return Wheel;
    }
<span style="display: none; width: 0px; height: 0px;" id="transmark"></span>
    public void setWheel(String wheel) {
        Wheel = wheel;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }
}
相关的颜色接口和实现,轮子的接口和实现类似
public interface Color {
}
public class WhiteColor implements Color {
    public WhiteColor() {
        System.out.println("这是白色");
    }
}
public class BlackColor implements Color {
    public BlackColor() {
        System.out.println("这是黑色");
    }
}
构建一个制造对象

public class Builder implements CarBuilder {
    @Override
    public void makeWheel() {
        System.out.println("制作轮子过程");
    }

    @Override
    public void makeColor() {
        System.out.println("制作颜色过程");
    }

    @Override
    public void getCarInfo() {
        System.out.println("获取相关信息");
    }
}
通过一个指挥者将种类与过程进行排序

public class MakeCar {
    private Builder builder = new Builder();

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

    public void MakeSmallWhiteCar() {
        builder.makeColor();
        builder.makeWheel();
        builder.getCarInfo();
    }
}
每一种车辆对应的用一种制造的方法,相关的排序方式,相关的参数设置

主函数测试

public class Main {
    public static void main(String[] args) {
        Builder builder = new Builder();
        MakeCar makeCar = new MakeCar(builder);
        makeCar.MakeSmallWhiteCar();
    }
}









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值