码农百科 建造者模式

william · 2023-08-28 13:37:44 · 热度: 13

建造者模式(Builder pattern)是一种设计模式,它提供了一种构建对象的最佳方式。这种模式通常用于将一个对象的内部表示与其外部表示分离,使得同样的构建过程可以创建不同的表示。

在建造者模式中,我们创建了一个建造者类,该类负责构建一个或多个相关的对象。建造者类提供了一种明确的接口,通过这个接口可以逐步构建复杂的对象。这种模式的主要优点是,它允许我们独立于表示对象的部分的顺序和数量来构建对象。

以下是一个简单的建造者模式示例:

public class Car {
    private String color;
    private String model;
    private boolean hasAirConditioner;
    private boolean hasGPS;

    private Car(Builder builder) {
        this.color = builder.color;
        this.model = builder.model;
        this.hasAirConditioner = builder.hasAirConditioner;
        this.hasGPS = builder.hasGPS;
    }

    public static class Builder {
        private String color;
        private String model;
        private boolean hasAirConditioner;
        private boolean hasGPS;

        public Builder setColor(String color) {
            this.color = color;
            return this;
        }

        public Builder setModel(String model) {
            this.model = model;
            return this;
        }

        public Builder hasAirConditioner(boolean hasAirConditioner) {
            this.hasAirConditioner = hasAirConditioner;
            return this;
        }

        public Builder hasGPS(boolean hasGPS) {
            this.hasGPS = hasGPS;
            return this;
        }

        public Car build() {
            return new Car(this);
        }
    }
}

在上面的例子中,Car类是我们要构建的复杂对象。我们通过Builder类来逐步构建这个对象,可以设置汽车的各个属性,例如颜色、型号、是否带空调和是否带GPS等。然后,我们使用Builderbuild()方法来创建并返回一个完整的Car对象。这样,我们就可以根据需要创建具有不同属性和配置的汽车对象。

为您推荐与 设计模式 相关的帖子:

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册