C++设计模式-构建器 Builder

//Build 模式是一种创建复杂对象的设计模式,它通过将创建对象的过程分解为多个简单步骤,并使用一个 Builder 类来组合这些步骤,最终创建出一个完整的对象。Build 模式可以有效地隐藏对象的复杂构建过程,从而简化客户端代码,提高代码复用性。
//
//以下是一个简单的 C++ Build 模式示例,用于创建一个复杂的产品对象:
//
//```c+ +
#include <iostream>
#include <string>

class Product {
private:
    std::string partA;
    std::string partB;
    std::string partC;
public:
    void setPartA(std::string a) {
        partA = a;
    }
    void setPartB(std::string b) {
        partB = b;
    }
    void setPartC(std::string c) {
        partC = c;
    }
    void show() {
        std::cout << "Product: " << partA << " - " << partB << " - " << partC << std::endl;
    }
};

class Builder {
public:
    virtual void buildPartA() = 0;
    virtual void buildPartB() = 0;
    virtual void buildPartC() = 0;
    virtual Product getProduct() = 0;
};

class ConcreteBuilder : public Builder {
private:
    Product product;
public:
    void buildPartA() {
        product.setPartA("PartA");
    }
    void buildPartB() {
        product.setPartB("PartB");
    }
    void buildPartC() {
        product.setPartC("PartC");
    }
    Product getProduct() {
        return product;
    }
};

class Director {
private:
    Builder* builder;
public:
    Director(Builder* builder) {
        this->builder = builder;
    }
    void construct() {
        builder->buildPartA();
        builder->buildPartB();
        builder->buildPartC();
    }
};

int main() {
    ConcreteBuilder builder;
    Director director(&builder);
    director.construct();
    Product product = builder.getProduct();
    product.show();
    return 0;
}
//```
//
//在上面的示例中:
//
//- `Product` 类定义了复杂产品对象,并提供了一些设置和显示方法。
//- `Builder` 类定义了抽象构建器接口,包括创建每个部分的方法和获取最终产品的方法。
//- `ConcreteBuilder` 类实现了 `Builder` 接口,并定义了构建产品对象的具体步骤。
//- `Director` 类负责使用构建器对象并控制产品对象的构建过程。
//
//在 `main` 函数内,我们创建一个 `ConcreteBuilder` 对象并将其传递给 `Director` 对象。
// 然后我们调用 `Director` 对象的 `construct()` 方法来构建产品对象。
// 最终,我们通过 `ConcreteBuilder` 对象的 `getProduct()` 方法获取产品对象,
// 并调用其 `show()` 方法来显示产品信息。
//
//这个示例中使用了 Build 模式来创建一个复杂对象,并将其构建过程分解为多个简单步骤。
//这种方式可以有效地隐藏了对象构建的复杂性,并提高了代码的可维护性和复用性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Borland C++ Builder 6 (汉化补丁终结版) 汉化说明 ======================================================= 欢迎使用剑客软件,您的支持是我们前进的不懈动力。 ------------------------------------------------------------------------- 软件名称: Borland C++ Builder 6.0 (汉化补丁终结版) 软件版本: 6.0 (Build 10.166 , Update 4) 授权形式: 免费 作品类型: 汉化补丁 应用平台: Win9x/Me/NT/2000/XP/2003 软件作者: 辛玉强 作者主页: Http://swordxy.126.com 作者邮件: xy_0717@163.com ------------------------------------------------------------------------- 软件简介: Borland C++ Builder 是目前唯一完美集成 COBRA 与 COM/COM+ 的 C++ 集成开发环境,可以快速开发具有 Web 服务支持功能的电子商务应用程序,全球率先实现跨平台、高效可视化开发 Windows/Linux 应用程序,兼容 CLX、VCL 和 Borland C++ for Linux,增强了对于 Microsoft Visual C++ 源程序的兼容程度,提供 MFC 6.0 版与 ATL 3.0 版函数库,比起 Visual C++ 的 MFC 来,VCL 要先进得多。 ------------------------------------------------------------------------- 新增功能: 在 Borland C++Builder 6 汉化补丁增强版 的基础上,进一步修正了 Borland 的图片及资源编辑、SQL 监视的一些小的翻译问题,力争翻译的更贴切。同时, 增加了对 Borland SQL 浏览 、桌面数据库 、BDE 管理员 的汉化支持。 让您的 C++ Builder 更符合国人的习惯。 另外又新增加了安装时自选组件的功能, 您可以根据自己的需要来决定哪些组件需要汉化,定制属于您自己的开发环境。 最后,加入了一些其他的文件关联方式,如: C 、HPP 、DCR 、RES 、PAS 等等,便于您直接拿记事本来修改 C++ 的源文件而不用开启 C++Builder ,对于小范围的修改代码比较方便。 ------------------------------------------------------------------------- 汉化方法: 汉化前请确认 C++ Builder 6.0 及其相关程序程序没有运行,否则强行汉化可能会损坏文件。 下载后解压缩 RAR,运行 BCBswordH6.exe 将文件安装到原英文 BCB.exe 所在的目录 (一般为: C:\Program Files\Borland\CBuilder6\Bin) 即可使用。 如果您希望以后还能继续使用英文版, 请注意选择备份旧的文件,并注意在卸载本汉化补丁时选择 "反转" 以恢复英文版 (如果您不创建文件备份,卸载本汉化补丁时将不能恢复英文版,并且您需要重新安装 Borland C++ Builder 6.0 以恢复英文版)。 ------------------------------------------------------------------------- 郑重声明:  1.此软件原始版本版权归 Borland 公司所有,本人仅在原始软件基础上进行简体中文本地化。  2.感谢您使用 swordxy 的汉化作品。本人所有汉化作品均为免费发放,任何组织或个人未经本人允许,不得将本人的汉化作品用于商业活动或任何其它赢利性活动中。  3.本人的汉化只为使用方便而做,使用 swordxy 的汉化作品是您的自由选择,本人并不对由此给您的计算机系统带来的任何问题负责。  4.欢迎转载、传播 swordxy 的所有汉化作品。但请注意在转载或传播过程中保持汉化文件的完整性。请勿删除此说明文件并请尽量少改动汉化文件名。如果直接链接本站下载链接,请在下载位置注明出处。  5.在使用过程中如果发现翻译错误之处请及时来信指出。 6.如果确系因使用本软件导致软件运行不正常或系统不稳定(请先确认该问题是否原版软件已经存在), swordxy 并不能提供任何补偿或补救措施,swordxy 只能在纯学术研究的前提下,在获知具体出错现象后,尽可能的给与私人的友情帮助。 7.请勿向 swordxy 询问任何软件注册破解问题,对此类问题本人概不答复,软件使用中如有任何疑问,请发邮件到 xy_0717@163.com,但本人不保证一定能够解答。 -------------------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值