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

律师网站建设费用今日热点新闻排行榜

律师网站建设费用,今日热点新闻排行榜,做网站开发有前途吗,建设部执业考试中心网站C建造者设计模式 什么是建造者设计模式 建造者设计模式是一种创建型设计模式,它是一种将复杂对象的分解为多个独立部分的模式,以便于构建对象的过程可以被抽象出来并独立变化。 该模式有什么优缺点 优点 灵活性:建造者设计模式允许对象的…

C++建造者设计模式

在这里插入图片描述

什么是建造者设计模式

建造者设计模式是一种创建型设计模式,它是一种将复杂对象的分解为多个独立部分的模式,以便于构建对象的过程可以被抽象出来并独立变化。

该模式有什么优缺点

优点

  1. 灵活性:建造者设计模式允许对象的部分以不同的方式进行构建,从而提高了对象的灵活性。
  2. 分离性:建造者设计模式将对象的构建过程与其表示分离开来,使得两者可以独立变化。
  3. 可重用性:建造者设计模式可以将对象的构建过程封装起来,以便在不同的场景下重用。

缺点

  1. 复杂性:建造者设计模式需要定义多个类和接口,这会增加代码的复杂度。
  2. 可读性:建造者设计模式的代码可能不够直观,需要一定的经验才能理解。

如何使用

下面是一个使用C++实现建造者设计模式的例子:

#include <iostream>  
#include <string>  
#include <vector>  // 定义产品类  
class Product {  
public:  void add(std::string part) {  parts.push_back(part);  }  std::string toString() {  std::string result = "";  for (auto part : parts) {  result += part + " ";  }  return result.substr(0, result.length() - 1);  }  private:  std::vector<std::string> parts;  
};  // 定义建造者接口  
interface Builder {  virtual void buildPart(std::string part) = 0;  
};  // 实现建造者类  
class ConcreteBuilder : public Builder {  
public:  void buildPart(std::string part) override {  product->add(part);  }  private:  Product* product;  public:  ConcreteBuilder(Product* product) : product(product) {}  
};  // 定义指挥者类  
class Director {  
public:  void construct(Builder* builder) {  builder->buildPart("Part1");  builder->buildPart("Part2");  builder->buildPart("Part3");  }  
};  // 使用建造者设计模式的例子  
int main() {  Product* product = new Product();  Builder* builder = new ConcreteBuilder(product);  Director director;  director.construct(builder);  std::cout << product->toString() << std::endl;  delete product;  delete builder;  return 0;  
}

在上面的例子中,我们首先定义了一个Product类,它表示要构建的对象。然后我们定义了一个Builder接口,它定义了构建对象的方法。接着我们实现了ConcreteBuilder类,它实现了Builder接口,并将对象的构建过程封装起来。最后我们定义了Director类,它负责指导构建过程。在main函数中,我们创建了一个Product对象和一个ConcreteBuilder对象,并将它们关联起来。然后我们使用Director类来指导构建过程,最终输出构建好的对象。需要注意的是,在使用建造者设计模式时,需要仔细设计接口和类之间的关系,以便正确地构建对象。

http://www.15wanjia.com/news/45706.html

相关文章:

  • 做彩平图的素材那个网站有百度快照怎么打开
  • 档案网站建设经验沈阳seo顾问
  • 企业网站建设单位网站在线优化工具
  • 天津品牌网站设计怎么卸载windows优化大师
  • 医疗器械网站素材火星时代教育培训机构学费多少
  • 手机网站用什么软件做网页设计软件dreamweaver
  • 做电影网站需要那种服务器360搜索引擎的特点
  • asp能单独做网站吗企业微信营销系统
  • wordpress页面目录亚马逊关键词优化怎么做
  • 网站制作熊猫建站线上宣传渠道
  • 网站权重优化百度2022年版本下载
  • 网站开发公司东莞国家高新技术企业
  • 如何自己做购物网站seo优化工具有哪些
  • 研究思路 网站建设seo优化技术
  • 重庆市沙坪坝区小龙坎街道上海网站优化
  • 烟台网站快速优化排名广告sem是什么意思
  • 彩票网站招代理广告怎么做美发培训职业学校
  • 如何做网站赚百度推广业务员
  • 医药医疗行业网站建设著名的营销成功的案例
  • 怎么做网站点击率监控工具电商营销
  • 西宁专业网站制作公司企业seo服务
  • 什么网站可以做钟点工30条新闻摘抄
  • 转做批发的网站互联网营销模式
  • 做教育机构的设计哪些网站好舆情分析系统
  • 制作网站开发公司外包网络推广公司怎么选
  • 网站建设公司上海做网站公司建站模板免费下载
  • 专业APP客户端做网站宁德市住房和城乡建设局
  • 惠州建设公司网站百度提交网站
  • 网站免费建站性盈盈影院打开百度
  • 专业网站制作软件网站自然排名优化