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

价格网站外贸那些网站好用

价格网站,外贸那些网站好用,广州商城网站建设报价,49you网页游戏平台什么是简单工厂模式#xff1f; 简单工厂模式属于创造型模式#xff0c;而工厂就是负责生产和创造的#xff0c;顾名思义。建立对象的类就如一个工厂#xff0c;而需要被建立的对象就是一个个产品#xff1b;在工厂中加工产品#xff0c;使用产品的人#xff0c;不用在…什么是简单工厂模式 简单工厂模式属于创造型模式而工厂就是负责生产和创造的顾名思义。建立对象的类就如一个工厂而需要被建立的对象就是一个个产品在工厂中加工产品使用产品的人不用在乎产品是如何生产出来的。从软件开发的角度来说这样就有效的降低了模块之间的耦合。 简单工厂模式解决了什么问题 客户不用关心工厂内部的构造手段减小了客户使用代码的出错率。这里的客户表示的是使用你代码的人当然你自己就是使用别人代码的人。代码赋予结构性减小了后期开发和维护难度。 简单工厂模式应用场景举例 一个软件系统提供了多个外观不同的按钮它们都继承于按钮类客户希望在使用这些按钮的时候希望使用以下三个步骤来得到 调用工厂给出的创建方法传入目标按钮对应的参数返回目标按钮对象。 上述流程使客户使用该接口时非常方便。 分析如何构造简单工厂模式 有一个可以统一对外输出产品的工厂类(Factory)并且该类提供了一个所有产品的统一构造方法该方法要求传入目标产品对应的参数返回的是目标产品对象一个抽象的产品类(Product)多个具体的产品类(ProductA,ProductB…)继承于抽象的产品类。 简单工厂模式的类图 简单工厂模式的代码示例 #includeiostream #includememory//工厂创造具体产品时输入的参数 typedef enum {A,B }ProductType;//抽象产品类 class Product {public:Product(){std::coutProduct constructorstd::endl;};~Product(){std::coutProduct destructorstd::endl;};virtual void produce()const{};};//具体产品A class ProductA:public Product {public:ProductA(){std::coutProductA constructorstd::endl;};~ProductA(){std::coutProductA destructorstd::endl;};void produce()const {std::cout我是产品 Astd::endl;} };//具体产品B class ProductB:public Product {public:ProductB(){std::coutProductB constructorstd::endl;};~ProductB(){std::coutProductB destructorstd::endl;};void produce()const {std::cout我是产品 Bstd::endl;} };//工厂类 class Factory {public:Factory(){std::coutFactory constructorstd::endl;};~Factory(){std::coutFactory destructorstd::endl;};std::shared_ptrProduct CreateProduct(ProductType type)//面向客户的方法生产对应的产品只需要输入对应的产品类型即可返回生成对应的产品{switch (type){case A:return std::make_sharedProductA();break;case B:return std::make_sharedProductB();break;default:return nullptr;break;}}}; 简单工厂模式的使用步骤和示例 构建工厂构建抽象产品了解具体产品生产具体产品投入使用 示例 // ProductType WeNeedProtductA(){return ProductType::A;}; ProductType WeNeedProtductB(){return ProductType::B;};int main(int argc, char const *argv[]) {//使用步骤1构建工厂Factory factory;//使用步骤2构建抽象产品(客户具体需要什么产品还不知道)std::shared_ptrProductproduct;//使用步骤3客户打电话询问得知需要A类产品ProductType product_type WeNeedProtductA();//使用步骤4已经确定需要的具体产品开始生产product factory.CreateProduct(static_castProductType(product_type));//使用步骤5客户已经得到想要的产品开始投入使用product-produce();return 0; }简单工厂模式的使用示例输出 Factory constructor Product constructor ProductA constructor 我是产品 A ProductA destructor Product destructor Factory destructor 附录 示例代码仓库
http://www.hkea.cn/news/14510788/

相关文章:

  • flashfxp发布网站北京市住房与城乡建设部网站
  • 电脑做网站空间网站哪个公司做的
  • 成都建立网站营销设计上海办公室设计装修公司
  • 电子政务门户网站建设汇报什么是软文营销
  • 哪些网站做的不好网站正在建设中的网页怎么做
  • 12306网站开始是谁开发的wordpress主题代码解读
  • 目前做系统比较好的网站dw做网站模版
  • 情公司做的网站长春seo服务
  • 公司网站空间怎么续费能看全世界地图的app
  • 做类似淘宝一样的网站百度给企业做网站吗
  • asp.net个人网站空间从哪些方面评价一个企业的网站建设
  • 高端网站建设怎么报名网站做联盟还赚钱吗
  • 招商加盟网站推广方案产品设计专业最好的大学
  • 开发网站企业做的比较好的家具网站首页
  • wordpress打分免插件安徽网站seo公司
  • 做网站代码审计哪个工具比较好杭州网站设计
  • 长沙企业网站建设分公司c2c模式平台有哪些
  • 生态网站模板短视频培训
  • 什么站做咨询网站好想建一个网站
  • 企业网站建设的原则是湛江高端网站开发
  • 网站开发与维护实训总结妇幼保健院人流价格表
  • 郑州网站seo外包公司凡高网站建设
  • 织梦网站添加搜索功能wordpress重新安装插件
  • 蘑菇头表情包制作网站wordpress 模板 下载
  • 北京住房与建设部网站品牌电商网站
  • 徐州招聘网站哪个好网站建设先进个人自荐
  • 网站商城app建设方案关于制作网站收费标准
  • 网上书城网站开发的目的与意苏州网址制作公司
  • 房地产网站策划书网站开发工程师制作kpi
  • 网站分析怎么做的wordpress 授权破解