当前位置: 首页 > news >正文

泰安网站建设入门合同管理软件

泰安网站建设入门,合同管理软件,如何建设钓鱼网站,门户网站建设方案篇四#xff1a;“建造者模式#xff1a;逐步构造复杂对象” 设计模式是软件开发中的重要组成部分#xff0c;建造者模式是创建型设计模式中的一种。建造者模式旨在逐步构造复杂对象#xff0c;将对象的构造与其表示分离#xff0c;从而使得同样的构建过程可以创建不同的…篇四“建造者模式逐步构造复杂对象” 设计模式是软件开发中的重要组成部分建造者模式是创建型设计模式中的一种。建造者模式旨在逐步构造复杂对象将对象的构造与其表示分离从而使得同样的构建过程可以创建不同的表示。在C中建造者模式广泛应用于构建复杂对象的场景让我们一起深入了解其核心思想和使用方法并通过示例代码展示在C中如何应用建造者模式来构造复杂对象。 开始本篇文章之前先推荐一个好用的学习工具AIRIght借助于AI助手工具学习事半功倍。欢迎访问http://airight.fun/。 另外有2本不错的关于设计模式的资料分享出来与大家学习参考。 链接https://pan.baidu.com/s/1RmhQF_o1CdK8U7s5KeILog?pwdxc6d 提取码xc6d 1. 建造者模式的核心思想和使用方法 建造者模式是创建型设计模式其核心思想是将一个复杂对象的构建过程与其表示分离使得同样的构建过程可以创建不同的表示。在建造者模式中我们定义一个抽象建造者类用于规范产品的构建过程并由具体建造者类来实现该接口。然后使用指挥者类来控制建造过程最终构建出复杂对象。 建造者模式的使用方法如下 定义抽象建造者类规范产品的构建过程包括构建部件和组装产品等方法。定义具体建造者类实现抽象建造者接口负责实际构建产品的过程。定义产品类表示最终构建出的复杂对象。定义指挥者类控制建造过程根据具体的建造者类来构建产品。 2. C中应用建造者模式构造复杂对象的示例代码 在C中我们将以创建一个复杂的电脑对象为例来展示建造者模式的应用。 a. 定义抽象建造者类 // ComputerBuilder.h class ComputerBuilder { public:virtual ~ComputerBuilder() {}virtual void buildCPU() 0;virtual void buildMemory() 0;virtual void buildStorage() 0;virtual void buildGPU() 0;virtual Computer* getResult() 0; };b. 定义具体建造者类 // HighPerformanceComputerBuilder.h #include ComputerBuilder.hclass HighPerformanceComputerBuilder : public ComputerBuilder { public:HighPerformanceComputerBuilder() {computer_ new Computer();}void buildCPU() override {computer_-setCPU(High-performance CPU);}void buildMemory() override {computer_-setMemory(16GB);}void buildStorage() override {computer_-setStorage(512GB SSD);}void buildGPU() override {computer_-setGPU(NVIDIA GeForce RTX 3080);}Computer* getResult() override {return computer_;}private:Computer* computer_; };// StandardComputerBuilder.h #include ComputerBuilder.hclass StandardComputerBuilder : public ComputerBuilder { public:StandardComputerBuilder() {computer_ new Computer();}void buildCPU() override {computer_-setCPU(Standard CPU);}void buildMemory() override {computer_-setMemory(8GB);}void buildStorage() override {computer_-setStorage(256GB SSD);}void buildGPU() override {computer_-setGPU(Integrated GPU);}Computer* getResult() override {return computer_;}private:Computer* computer_; };c. 定义产品类 // Computer.h #include iostream #include stringclass Computer { public:void setCPU(const std::string cpu) {cpu_ cpu;}void setMemory(const std::string memory) {memory_ memory;}void setStorage(const std::string storage) {storage_ storage;}void setGPU(const std::string gpu) {gpu_ gpu;}void showInfo() const {std::cout CPU: cpu_ std::endl;std::cout Memory: memory_ std::endl;std::cout Storage: storage_ std::endl;std::cout GPU: gpu_ std::endl;}private:std::string cpu_;std::string memory_;std::string storage_;std::string gpu_; };d. 定义指挥者类 // Director.h #include ComputerBuilder.hclass Director { public:void setBuilder(ComputerBuilder* builder) {builder_ builder;}Computer* construct() {builder_-buildCPU();builder_-buildMemory();builder_-buildStorage();builder_-buildGPU();return builder_-getResult();}private:ComputerBuilder* builder_; };e. 使用建造者模式构造复杂对象 // main.cpp #include Computer.h #include Director.h #include HighPerformanceComputerBuilder.h #include StandardComputerBuilder.hint main() {Director director;HighPerformanceComputerBuilder highPerformanceBuilder;StandardComputerBuilder standardBuilder;// 构建高性能电脑director.setBuilder(highPerformanceBuilder);Computer* highPerformanceComputer director.construct();std::cout High Performance Computer: std::endl;highPerformanceComputer-showInfo();delete highPerformanceComputer;std::cout std::endl;// 构建标准电脑director.setBuilder(standardBuilder);Computer* standardComputer director.construct();std::cout Standard Computer: std::endl;standardComputer-showInfo();delete standardComputer;return 0; }在上述示例中我们定义了抽象建造者类ComputerBuilder并创建了两个具体建造者类HighPerformanceComputerBuilder和StandardComputerBuilder。产品类Computer表示要构建的复杂对象。指挥者类Director负责控制建造过程并使用不同的建造者来构建不同的复杂对象。 ** 3.建造者模式的代码解析 在建造者模式中抽象建造者类ComputerBuilder定义了产品的构建过程包括构建CPU、内存、存储和GPU等部件并提供了获取最终产品的方法getResult()。具体建造者类HighPerformanceComputerBuilder和StandardComputerBuilder分别实现了抽象建造者接口负责实际构建高性能电脑和标准电脑的过程。产品类Computer表示最终构建出的复杂对象其中包含CPU、内存、存储和GPU等部件并提供了显示电脑信息的方法showInfo()。指挥者类Director负责控制建造过程通过setBuilder()方法设置具体的建造者然后调用其构建方法逐步构造复杂对象。 4. 总结 建造者模式是创建型设计模式其核心思想是逐步构造复杂对象将对象的构建与表示分离使得同样的构建过程可以创建不同的表示。在C中通过定义抽象建造者类和具体建造者类以及产品类和指挥者类实现了建造者模式的应用。建造者模式使得构建过程更加灵活和可控同时提高了代码的可维护性和可复用性。 希望本文能够帮助您更好地理解建造者模式的原理和在C中的应用。在后续的专栏文章中我们将继续介绍更多设计模式的知识包括原理、详细介绍、示例代码和代码解析帮助您深入学习和应用设计模式。 参考文献 Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional.C Core Guidelines: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines 感谢您的阅读欢迎一起探讨共同进步推荐大家使用学习助手AIRight来解答学习过程中的问题访问链接http://airight.fun/
http://www.hkea.cn/news/14291318/

相关文章:

  • 怎么做网站生意彩票网站开发演示
  • 贵阳网站推广¥做下拉去118cr浙江大成建设集团有限公司网站
  • 北京网站优化首页网站建设的基本流程图
  • 富阳营销型网站建设菜鸟学做网站
  • 临沂建设网站公司网站建设和维护试卷
  • 高密微网站建设个人做美食视频网站
  • 公司网站建设多少费用哪里济南兴田德润有活动吗扬州公司做网站
  • 南浔区住房和城乡建设局网站discuz下载官网
  • 青岛做网站企业排名上海建设房屋网站
  • 自己做的网站如何兼容南京网站建设公司开发
  • 衡阳建设学校网站个人网站需不需要备案
  • 校园兼职网站开发用例图网站开发答辩会问哪些问题
  • 如何创立个人网站最新网站发布
  • 数字媒体应用 网站开发网站建设的方法和技术
  • 重庆万州网站建设哪家好公司公共邮箱怎么申请
  • 源代码怎么做网站外贸网站建设大概多少钱
  • 合肥响应式网站开发方案刷赞网站推广永久
  • 网站域名一年多少钱网站更换名称需要重新备案吗
  • 美容网站建设网页设计素材代码
  • WordPress 主题 a5厦门seo排名优化方式
  • 怎样做网站的外链介绍自己的做的网站吗
  • php mysql网站开发...hao123主页我的上网主页
  • 手机网站备案费用服装网站建设公司有哪些
  • 自助做网站傻瓜式自助建站工具口腔医院网站建设
  • 网站注册地查询seo如何选择网站标题
  • seo网站外包公司航天桥网站建设
  • 佛山做网站优化设置网站的默认页面
  • 大型门户网站建设哪便宜wordpress 4.7.3主题
  • 做个医院网站多少钱thinkphp购物网站开发视频
  • vue网页模板免费潍坊网站建设优化推广