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

阿里巴巴免费做国际网站阿里云网站备案注销

阿里巴巴免费做国际网站,阿里云网站备案注销,湛江市城乡住房建设局网站,一个公司做两个网站的好处建造者模式 建造者模式的概念 Builder 模式也叫建造者模式或者生成器模式#xff0c;是由 GoF 提出的 23 种设计模式中的一种。 Builder 模式是一种对象创建型模式之一#xff0c;用来隐藏复合对象的创建过程#xff0c;它把复合对象的 创建过程加以抽象#xff0c;通过子…建造者模式 建造者模式的概念 Builder 模式也叫建造者模式或者生成器模式是由 GoF 提出的 23 种设计模式中的一种。 Builder 模式是一种对象创建型模式之一用来隐藏复合对象的创建过程它把复合对象的 创建过程加以抽象通过子类继承和重载的方式动态地创建具有复合属性的对象。对象的创建Builder 模式是为对象的创建而设计的模式- 创建的是一个复合对象被创建的对象为一个具有复合属性的复合对象- 关注对象创建的各部分的创建过程不同的工厂 这里指 builder 生成器对产品属性有不同的创建方法 建造者模式的角色和职责 建造者Builder为创建产品各个部分统一抽象接口。ConcreteBuilder具体的创建产品的各个部分部分 A 部分 B部分 C。设计师Director构造一个使用 Builder 接口的对象。Product表示被构造的复杂对象。 ConcreteBuilder 创建该产品的内部表示并定义它的装配过程包含定义组成部件的类 包括将这些部件装配成最终产品的接口。 建造者模式的适用情况 一个对象的构建比较复杂将一个对象的构建和对象的表示进行分离。 建造者模式的实现 #includeiostream #includestringusing namespace std;//一个房子不管是公寓还是别墅他都有三种属性墙地板门 //建造公寓和别墅时都需要建造者有房子的图纸//房子类 class House { public://创建地板void setFloor(string floor){this-m_floor floor;}//创建墙void setWall(string wall){this-m_wall wall;}//创建门void setdoor(string door ){this-m_door door;}//获取地板string getFloor(){return m_floor;}//获取墙string getWall(){return m_wall;}//获取门string getDoor(){return m_door;} private:string m_floor;//地板string m_wall;//墙string m_door;//门 };//建造者 class Builder { public:virtual void makeFloor() 0; //建造者建地板virtual void makeWall() 0; //建造者建墙virtual void makeDoor() 0; //建造者建门virtual House *GetHouse() 0; //建造者建房子 };//建造者建造公寓 继承建造者类 class FlatBuild : public Builder { public:FlatBuild(){phouse new House;//创建一个新的房子}virtual void makeFloor(){//这个房子的墙是公寓的地板phouse-setFloor(公寓的地板);}virtual void makeWall(){phouse-setWall(公寓的墙);}virtual void makeDoor(){phouse-setdoor(公寓的门);}virtual House *GetHouse(){return phouse;} private:House *phouse; //维护一个房子类的指针 };//建造者建造别墅 class VillBuild :public Builder { public:VillBuild(){pHouse new House;}virtual void makeFloor(){pHouse-setFloor(别墅的地板);}virtual void makeWall(){pHouse-setWall(别墅的墙);}virtual void makeDoor(){pHouse-setdoor(别墅的门);}virtual House *GetHouse(){return pHouse;} private:House *pHouse; };//设计师类用来指挥建造者 class Director { public:void Construct(Builder *builder){builder-makeFloor();builder-makeWall();builder-makeDoor();} };int main(void) {//客户自造房子不花钱请建造者和设计师House *phouse new House;phouse-setdoor(自己造的门);phouse-setFloor(自己造的地板);phouse-setWall(自己造的墙);cout phouse-getDoor() endl;cout phouse-getWall() endl;cout phouse-getFloor() endl;/*//建造者直接造公寓不花钱请设计师Builder *builder new FlatBuild;builder-makeFloor();builder-makeDoor();builder-makeWall();*///设计师指挥 建造者 建房子Director *director new Director;//建公寓Builder *builder new FlatBuild;director-Construct(builder);//设计师指挥建造者干活,直接全部建好House*house builder-GetHouse();//获取已经建好房子的钥匙cout house-getFloor() endl;//查看建好房子的地板delete house;delete builder;//建别墅builder new VillBuild;director-Construct(builder);//设计师 指挥工程队 建好别墅house builder-GetHouse();//从建造者那块拿到别墅的钥匙cout house-getFloor() endl;//查看建好的别墅的地板delete house;delete builder;delete director;system(pause);return 0; }建造者模式和工厂模式的区别 Factory 模式中 有一个抽象的工厂。实现一个具体的工厂—汽车工厂。工厂生产汽车 A得到汽车产品 A。工厂生产汽车 B得到汽车产品 B。 这样做实现了购买者和生产线的隔离。强调的是结果。 Builder 模式: 引擎工厂生产引擎产品得到汽车部件 A。轮胎工厂生产轮子产品得到汽车部件 B。底盘工厂生产车身产品得到汽车部件 C。将这些部件放到一起形成刚好能够组装成一辆汽车的整体。将这个整体送到汽车组装工厂得到一个汽车产品。 总结 这样做目的是为了实现复杂对象生产线和其部件的解耦。强调的是过程 两者的区别在于 Factory 模式不考虑对象的组装过程而直接生成一个我想要的对象。Builder 模式先一个个的创建对象的每一个部件再统一组装成一个对象。Factory 模式所解决的问题是工厂生产产品。而 Builder 模式所解决的问题是工厂控制产品生成器组装各个部件的过程然后从产品 生成器中得到产品。
http://www.yutouwan.com/news/457991/

相关文章:

  • 案例分析网站网站建设免
  • 公司网站维护费 入什么科目app软件设计
  • 彩票网站html模板wordpress 页面归类
  • 怎样给网站做后台泰安有口碑的网站建设
  • 网站接入商查询什么样的网站高大上
  • 聚搜济南网站建设公司安徽省建设部干部网站
  • php网站后台怎么进备案 网站首页网址
  • 山东省住房和城乡建设厅服务网站沙井网站推广
  • python数据分析做网站免费建站的网站能做影视网站吗
  • 没有网站可以域名备案免费游戏网站模板
  • 搬瓦工可以做网站吗学校网站设计实验报告
  • 做网站的费用 可以抵扣吗wordpress怎么用七牛
  • 郑州建站网站的公司天河手机网站建设
  • php网站怎么做seo江苏省教育现代化建设水平监测网站
  • 郑州网络营销与网站推广企业员工培训课程
  • 福建龙祥建设集团公司网站朋友给我做网站
  • 内江市住房和城乡建设局网站电话wordpress怎么自己写源码吗
  • 制作响应式网站网页文章 在wordpress
  • 手机访问网站建设中wordpress yoast设置
  • php网站开发实战教程软件开发工程师报考条件
  • 做网站学费多少钱wordpress幻灯片插件 汉化
  • 哈尔滨的网站建设公司wordpress+win8
  • 做迅雷下载电影类网站会侵权么数字创意设计包括哪些行业
  • 温州网站建设科技有限公司常州 网站 推广
  • 想自己做网站吗安徽工程建设信用平台
  • 教育网站改造方案批量 网站标题
  • 成功网站管理系统竞价推广价格
  • 中英文网站建设报价wordpress站点管理
  • 凡科网网站系统企业门户网站建设 北京
  • 商河做网站多少钱培训机构网站建设推广