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

外贸商城网站建设WordPress的主题制作教程

外贸商城网站建设,WordPress的主题制作教程,执业医师报考条件2022年最新规定,表白二维码生成器简介 建造者模式(Builder Pattern)是一种创建型设计模式,它将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。 描述 建造者模式通过将一个复杂对象的构建过程拆分成多个简单的部分,并由不同…

简介

建造者模式(Builder Pattern)是一种创建型设计模式,它将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。

描述

建造者模式通过将一个复杂对象的构建过程拆分成多个简单的部分,并由不同的建造者构建每个部分,最终组装成整的对象。这种方式可以灵活地构建不同的对象表示,同时封装了对象的构建过程。

原理

建造者模式的核心思想是将一个复杂对象的构建过程与其表示分离。通常,一个建造者接口定义了构建每个部分的方法,一个具体的建造者实现了该接口,并负责构建每个部分。最后,一个指挥者类根据具体的构建者来组装构建过程,并返回构建完成的对象。

类图

在这里插入图片描述
建造者模式中有几个角色:

  1. Director:导演类,按照已有的顺序告诉Builder建造
  2. Builder:抽象建造者,规范建造的方法
  3. ConcreteBuilder:具体的建造者,复实现抽象建造者的方法,并返回一个产品
  4. Product:产品类

示例

假设要构建一个电脑对象,该电脑对象包含CPU、内存和硬盘等部件。

  1. 创建一个电脑建造者接口(ComputerBuilder),其中定义了构建每个部分的方法。
  2. 创建了具体的电脑建造者类(ConcreteComputerBuilder),实现了建造者接口,并负责构建每个部分。
  3. 创建一个指挥者类(Director),根据具体的建造者来组装构建过程,并最终返回构建好的电脑对象。

C++示例代码如下:

#include <iostream>
using namespace std;// 电脑类
class Computer {
public:void setCPU(const string& cpu) {this->cpu cpu;}void setMemory(const string& memory) {this->memory = memory;}void setHardDrive(const string& hardDrive) {this->hardDrive = hardDrive;}void showInfo() const {cout << "CPU: " << cpu << endl;cout << "Memory: " << memory << endl;cout << "Hard Drive: " << hardDrive << endl;}
private:string cpu;string memory;string hardDrive;
};// 电脑建造者接口
class ComputerBuilder {
public:virtual void buildCPU() = 0;virtual void buildMemory() = 0;virtual void buildHardDrive() = 0;virtual Computer* get() = 0;
};// 具体的电脑建造者
class ConcreteComputerBuilder : public ComputerBuilder {
public:ConcreteComputerBuilder() {computer = new Computer();}void buildCPU() override {computer->setCPU("Intel Core i7");}void buildMemory() override {computer->setMemory("16GB");}void buildHardDrive() override {computer->setHardDrive("1TB SSD");}Computer* getComputer() override {return computer;}private:Computer* computer;
};// 指挥者
class Director {
public:void setComputerBuilder(ComputerBuilder* builder){this->builder = builder;}void constructComputer() {builder->buildCPU();builder->buildMemory();builder->buildHardDrive();}private:ComputerBuilder* builder;
};// 使用示例
int main() {Director director;ConcreteComputerBuilder builder;director.setComputerBuilder(&builder);director.constructComputer();Computer* computer = builder.getComputer();computer->showInfo();delete computer;return 0;
}

输出结果

CPU: Intel Core i7
Memory: 16GB
Hard Drive: 1TB SSD

解释

在上述示例中,首先定义了电脑类(Computer),其中包含了一些电脑的属性和显示信息的方法。
然后,创建了电脑建造者接口(ComputerBuilder),其中定义了构建每个部分的抽象方法,并定义了获取构建好的电脑的方法。
接着,创建了具体的电脑建造者类(ConcreteComputerBuilder),它实现了电脑建造者接口,并负责构建每个部分。
最后,创建了一个指挥者类(Director),它接收一个具体的建造者,并根据这个建造者来组装建过程。

在示例中,通过调用指挥者的constructComputer方法来使用具体的建造者构建电脑对象。最终,通过调用建造者的getComputer方法来获取构建好电脑对象,并调用它的showInfo方法来显示电脑的信息。

结论

建造者模式通过将对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。它提供了更加灵活和可复用的方式来构建复杂对象。

应用场景

建造者模式适用于以下情况:

  1. 当需要创建具有复杂内部结构的对象时,使用建造者模式可以简化构建过程;
  2. 当需要构建的对象具有不同的表示时,使用建造者模式可以根据不同的建造者生成不同的对象表示;
  3. 当需要封装对象的构建过程,以便于修改或扩展时,使用建造者模式可以将构建过程与表示分离,减少代码的耦合度。

建造者模式可以应用于各种场景,如复杂对象的构建、流程控制、组装不同的表示等。它通过将构建过程拆分为多个简单的部分,使得构建过程可控制和可扩,提供了更加灵活和可复用对象构建方式。

http://www.yayakq.cn/news/461034/

相关文章:

  • 如何搭建自己的网站服务器地址wordpress如何添加注册登录
  • 用户体验做的好的网站seo百度站长工具
  • 网站开发运营秦淮做网站价格
  • 如何建设一个工业品采购网站企业官网有哪些网站
  • 这是我自己做的网站吗个人备案20字备注
  • 西工网站建设设计韩国导航地图中文版app
  • 中小型网站建设流程张家港网站设计制作早晨设计
  • 网站开发者 地图哪个地方可学习网站建设
  • 农业营销型网站源码网站商城建设员招聘
  • 九江做网站哪家便宜品牌建设 网站
  • iis网站正在建设中会宁网站建设
  • 厦门建站比较好的公司深圳做网站 信科便宜
  • 如何做网课网站虚拟主机 安装wordpress
  • 网站开发上海wordpress恢复主题初始值
  • 网站建设找c宋南南前端网站开发教程
  • 做网站排名多少钱阿里云备案多个网站吗
  • 常州做网站价格企业制作网站一般多少钱
  • 晚上睡不着正能量网站0元开店0元铺货无加盟费开网店
  • 广东长城建设集团有限公司 网站织梦做分类信息系统网站
  • 徐州制作网站的公司有哪些做网站的人
  • 网站需要的技术wordpress建站要钱么
  • 网站模版与模板的使用网站前后端全部做需要多少钱
  • 网站设计公司有名乐云seo怎么创建个人网页
  • 国外网站建立网站怎么做 吸引人
  • 网站开发有什么软件有哪些网站访问速度跟服务器cpu和内存和带宽哪个重要
  • 长乐市住房和城乡建设局网站农村做网站开发
  • 南京英文网站建设缅甸做网站
  • 电影点播网站开发费用百度下载app
  • 徐家汇网站建设网站浮动咨询代码
  • 烟台工程建设信息网站网络营销的工具和方法有哪些