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

北京建设网站的公司seo查询排名软件

北京建设网站的公司,seo查询排名软件,用asp.net做的网站有哪些,wordpress 漫画主题目录 C设计模式-生成器(Builder) 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-生成器(Builder) 一、意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二、…

目录

C++设计模式-生成器(Builder)

一、意图

二、适用性

三、结构

四、参与者

五、代码


C++设计模式-生成器(Builder)

一、意图

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

二、适用性

  • 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
  • 当构造过程必须允许被构造的对象有不同的表示时。

三、结构

 

四、参与者

  • Builder

       为创建一个Product对象的各个部件指定抽象接口。

  • ConcreteBuilder

        实现Builder的接口以构造和装配该产品的各个部分。

        定义并明确它所创建的表示。

        提供一个检索产品的接口。

  • Director

        构造一个使用Builder接口的对象

  • Product

        表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定义它的装配过程。

        包含定义组成部件的类,包括将这些部件装配成最终产品的接口。

五、代码

#include<iostream>
using namespace std;class Product {
public:void SetPartOne(string TempPartOne) {PartOne = TempPartOne;cout << "Set Part One: " << PartOne << endl;}void SetPartTwo(string TempPartTwo) {PartTwo = TempPartTwo;cout << "Set Part Two: " << PartTwo << endl;}void SetPartThree(string TempPartThree) {PartThree = TempPartThree;cout << "Set Part Three: " << PartThree << endl;}
private:string PartOne;string PartTwo;string PartThree;
};class Builder {
public:Product GetProduct() {return product;}virtual void BuildPartOne() = 0;virtual void BuildPartTwo() = 0;virtual void BuildPartThree() = 0;
protected:Product product;
};class ProductOneBuilder : public Builder {
public:void BuildPartOne() {product.SetPartOne("Product One's Part One");}void BuildPartTwo() {product.SetPartTwo("Product One's Part Two");}void BuildPartThree() {product.SetPartThree("Product One's Part Three");}
};class ProductTwoBuilder : public Builder {
public:void BuildPartOne() {product.SetPartOne("Product Two's Part One");}void BuildPartTwo() {product.SetPartTwo("Product Two's Part Two");}void BuildPartThree() {product.SetPartThree("Product Two's Part Three");}
};class Director {
public:Director() :builder(nullptr) {}void SetBuilder(Builder* TempBuilder) {this->builder = TempBuilder;}Product ConstructProduct() {builder->BuildPartOne();builder->BuildPartTwo();builder->BuildPartThree();return builder->GetProduct();}
private:Builder* builder;
};int main() {Builder* builder;Director* director = new Director;Product product;cout << "*** *** Construct Product One *** ***" << endl;builder = new ProductOneBuilder;director->SetBuilder(builder);product = director->ConstructProduct();delete builder;cout << "*** *** Construct Product Two *** ***" << endl;builder = new ProductTwoBuilder;director->SetBuilder(builder);product = director->ConstructProduct();delete builder;delete director;return 0;
}

http://www.ds6.com.cn/news/50415.html

相关文章:

  • 长沙网站优化对策搜狗网页搜索
  • 昆山高端网站设计公司交换友情链接的渠道有哪些
  • 免费手机建站平台免费快速网站
  • 公司营销网站建设关键词分为哪几类
  • 手机模板网站生成制作百度统计手机app
  • 求做外宣图网站电商培训机构有哪些?哪家比较好
  • 武汉最好的网站建设公司线上推广如何引流
  • 汕头云建站模板电子商务网站建设
  • 杭州外贸网站建设公司seo权威入门教程
  • 如何做威客网站百度推广关键词技巧定价
  • 网络营销产品有哪些特点强强seo博客
  • 房99西安房产网宁波seo网络推广定制
  • 做网站要先申请域名吗绍兴seo网站推广
  • 建设农村信息网站网络优化seo是什么工作
  • 深圳牌申请网站空间百度刷搜索词
  • 美丽乡村网站建设小学生关键词大全
  • 宝安电子厂做网站网络推广的公司是骗局吗
  • 珠海市企业网站建设软文大全
  • 怎么做dj网站培训公司排名
  • 日照网站建设百度推广一天烧几千
  • 想花钱做网站怎么做百度站长工具官网
  • 做网站设分辨率关键词优化排名公司
  • 免费网站打包百度seo快速见效方法
  • wordpress 托管是什么seo网页优化服务
  • 专业的营销型网站最新报价企业管理8大系统
  • 湖南二维码标签品牌连云港seo优化
  • 农产品电子商务网站建设优化网站平台
  • 网站开发中使用框架吗网络营销的4p策略
  • 龙华响应式网站建设google推广技巧
  • 专业网站建设公司电话西安做seo的公司