建造者模式(生成器模式)

这篇具有很好参考价值的文章主要介绍了建造者模式(生成器模式)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

建造者模式

什么是建造者模式

依赖倒转原则 = 抽象不应该依赖细节,细节应该依赖于抽象

对流程进行抽象,流程中具体细节依赖于这个抽象

过程是稳定的,细节是不同的

建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

建造者模式解析

  • Director:指挥者,是构建一个使用Builder接口的对象
  • Builder:是为创建一个Product对象的各个部件指定的抽象接口
  • 具体建造者,实现Builder接口,构造和装配各个部件
  • Procuct:具体产品

通过示例去了解建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,它将一个复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表示。以下是一个使用 Java 实现建造者模式的示例,以创建不同配置的电脑(Computer)为例:

1.定义电脑类(Product):

public class Computer {
    private String cpu;
    private String gpu;
    private int ram;
    private int storage;

    private Computer(ComputerBuilder builder) {
        this.cpu = builder.cpu;
        this.gpu = builder.gpu;
        this.ram = builder.ram;
        this.storage = builder.storage;
    }

    public String getCpu() {
        return cpu;
    }

    public String getGpu() {
        return gpu;
    }

    public int getRam() {
        return ram;
    }

    public int getStorage() {
        return storage;
    }

    @Override
    public String toString() {
        return "Computer{" +
                "cpu='" + cpu + '\'' +
                ", gpu='" + gpu + '\'' +
                ", ram=" + ram +
                ", storage=" + storage +
                '}';
    }
}
public static class ComputerBuilder {
        private String cpu;
        private String gpu;
        private int ram;
        private int storage;

        public ComputerBuilder withCpu(String cpu) {
            this.cpu = cpu;
            return this;
        }

        public ComputerBuilder withGpu(String gpu) {
            this.gpu = gpu;
            return this;
        }

        public ComputerBuilder withRam(int ram) {
            this.ram = ram;
            return this;
        }

        public ComputerBuilder withStorage(int storage) {
            this.storage = storage;
            return this;
        }

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

2.在客户端代码中,通过建造者类 Computer.ComputerBuilder 创建不同配置的电脑实例:

public class BuilderPatternDemo {
    public static void main(String[] args) {
        // 创建一台基础配置的电脑
        Computer basicComputer = new Computer.ComputerBuilder()
                .withCpu("Intel i5")
                .withGpu("Nvidia GTX 1650")
                .withRam(8)
                .withStorage(512)
                .build();

        System.out.println("Basic Computer: " + basicComputer);

        // 创建一台高端配置的电脑
        Computer advancedComputer = new Computer.ComputerBuilder()
                .withCpu("Intel i9")
                .withGpu("Nvidia RTX 3080")
                .withRam(32)
                .withStorage(1024)
                .build();

        System.out.println("Advanced Computer: " + advancedComputer);
    }
}

运行 BuilderPatternDemo 类的 main 方法,输出结果应为:文章来源地址https://www.toymoban.com/news/detail-851748.html

Basic Computer: Computer{cpu='Intel i5', gpu='Nvidia GTX 1650', ram=8, storage=512}
Advanced Computer: Computer{cpu='Intel i9', gpu='Nvidia RTX 3080', ram=32, storage=1024}

到了这里,关于建造者模式(生成器模式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 生成器设计模式(Builder Design Pattern)[论点:概念、图示、示例、框架中的应用、场景]

            生成器设计模式(Builder Design Pattern)是一种创建型设计模式,用于处理具有多个属性和复杂构造过程的对象。生成器模式通过将对象的构建过程与其表示分离,使得相同的构建过程可以创建不同的表示。这有助于减少构造函数的参数个数,提高代码的可读性和可维

    2023年04月11日
    浏览(32)
  • Java设计模式-建造者模式

    建造者模式是一种创建型设计模式,用于将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通过将复杂对象的构建过程分解为多个简单的步骤来实现。 与其他创建型模式不同,建造者模式强调的是将构建过程与表示分离,而不是将对

    2024年02月02日
    浏览(29)
  • java设计模式之 - 建造者模式

    建造者模式(Builder Pattern)是一种创建型设计模式,它通过将对象的构建过程分离出来,使得同样的构建过程可以创建不同的表示形式。 简单来说,建造者模式允许你按步骤创建复杂的对象,同时将对象的构建与其表示分离。 主要解决的问题是当创建一个复杂对象时,如果

    2024年02月16日
    浏览(48)
  • 03-JAVA设计模式-建造者模式

    建造者模式(Builder Pattern)是一种对象构建的设计模式,它允许你通过一步一步地构建一个复杂对象,来隐藏复杂对象的创建细节。 这种模式将一个复杂对象的构建过程与其表示过程分离,使得同样的构建过程可以创建不同的表示。命名建议以Builder结尾,以达到见名之意。

    2024年04月15日
    浏览(51)
  • Java设计模式之一:建造者模式

    目录 一、什么是建造者模式 二、建造者模式如何使用 三、建造者模式的优势和应用场景 Java建造者模式是一种创建对象的设计模式,它通过将对象的构造过程分离出来,使得同样的构建过程可以创建不同的表示。建造者模式适用于创建复杂对象,它将对象的构建过程分解成

    2024年02月13日
    浏览(37)
  • Java 设计模式之建造者模式

            在软件开发中,设计模式是一种被广泛使用的解决问题的方法。设计模式帮助我们更好地组织和管理代码,提供了一种可靠和可复用的设计方案。在本篇文章中,我们将重点介绍一种常用的设计模式——建造者模式,并通过一个实际的案例来演示其应用。     

    2024年02月13日
    浏览(32)
  • Java与设计模式(6):建造者模式

    建造者模式(Builder Pattern)是一种创建型设计模式,它允许你逐步构造复杂对象。该模式将对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式的核心思想是将一个复杂对象的构建过程分解为多个简单的步骤,通过一系列的步骤来逐步构建对

    2024年02月11日
    浏览(31)
  • Java特性之设计模式【建造者模式】

    概述 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的 主要解决 :主要解决在软件系统中,有

    2024年02月07日
    浏览(30)
  • Java建造者设计模式

    建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。 Builder(抽象建造者) :它为创建一个产

    2024年02月15日
    浏览(23)
  • 【Java设计模式】建造者模式 & 注解@Builder

    将一个复杂对象的构造与它的表示分离 ,使同样的构建过程可以创建不同的表示。它使将一个复杂的对象分解成多个简单的对象,然后一步步构建而成。 每一个具体建造者都相对独立,而与其它的具体建造者无关,因此可以很方便地替换具体建造者或增加新的具体建造者,

    2024年02月14日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包