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

免费个人微网站模板锦州电脑网站建设

免费个人微网站模板,锦州电脑网站建设,银川网站建设培训哪家好,网站开发摊销多少年关于设计模式的作用#xff1a; “帮助我们将应用组织成容易了解#xff0c;容易维护#xff0c;具有弹性的架构#xff0c;建立可维护的OO系统#xff0c;要诀在于随时想到系统以后可能需要的变化以及应付变化的原则。” 具体可参考#xff1a;https://www.cnblogs.com/…关于设计模式的作用 “帮助我们将应用组织成容易了解容易维护具有弹性的架构建立可维护的OO系统要诀在于随时想到系统以后可能需要的变化以及应付变化的原则。” 具体可参考https://www.cnblogs.com/linkstar/p/7859980.html 由于Caffe中的solver产生一系列的solver子类以及建立一系列layer类时就用到了工厂模式参考https://blog.csdn.net/fangjin_kl/article/details/54019066。所以这里首先介绍一下第一种设计模式-----工厂模式 参考博客https://blog.csdn.net/wuzhekai1985/article/details/6660462 工厂模式有三种 1简单工厂模式 2工厂方法模式 3抽象工厂模式 1、简单工厂模式 这么描述现在有一个工厂Factory类专门生成核core现在要生产两种产品core_A 和 core_B代码如下 enum CTYPE {COREA, COREB}; class SingleCore { public: virtual void Show() 0; }; //单核A class SingleCoreA: public SingleCore { public: void Show() { coutSingleCore Aendl; } }; //单核B class SingleCoreB: public SingleCore { public: void Show() { coutSingleCore Bendl; } }; //唯一的工厂可以生产两种型号的处理器核在内部判断 class Factory { public: SingleCore* CreateSingleCore(enum CTYPE ctype) { if(ctype COREA) //工厂内部判断 return new SingleCoreA(); //生产核A else if(ctype COREB) return new SingleCoreB(); //生产核B else return NULL; } };   当然这么做也有一个缺点当Factory要生产一个新的产品时就要修改factory类然而这样就违背了开放封闭原则即软件实体类、函数、模块不可修改只能扩展所以为了通过扩展来实现可以生产新的产品引入了工厂方法模式 2、工厂方法模式 这么来描述通过类的继承来实现扩展功能即从父类factory中派生出factory_A类专门用来生产core_A 产品 派生出favtory_B类从来生产core_B产品。这样子如果味蕾要生产新的产品时只需要派生出新的工厂子类就行了。代码如下 class SingleCore { public: virtual void Show() 0; }; //单核A class SingleCoreA: public SingleCore { public: void Show() { coutSingleCore Aendl; } }; //单核B class SingleCoreB: public SingleCore { public: void Show() { coutSingleCore Bendl; } }; class Factory { public: virtual SingleCore* CreateSingleCore() 0; }; //生产A核的工厂 class FactoryA: public Factory { public: SingleCoreA* CreateSingleCore() { return new SingleCoreA; } }; //生产B核的工厂 class FactoryB: public Factory { public: SingleCoreB* CreateSingleCore() { return new SingleCoreB; } };   当然上面这么做也有一个缺点就是每生产一种新的类别时就需要建立一个新的工厂那么就存在这样一种情况依然core_A类可能我们要对A生产一系列产品比如单核的A和多核的A如果还是用工厂方法模式就太繁琐了所以引入了抽象工厂模式 3、抽象工厂模式 这么描述它提供了一个创建一系列相关或相互依赖对象的接口而无需指定它们具体的类就是说父类factory只指定要生产单核类和多核类而不需要指定A、B、C类等等。 代码如下 //单核 class SingleCore { public: virtual void Show() 0; }; class SingleCoreA: public SingleCore { public: void Show() { coutSingle Core Aendl; } }; class SingleCoreB :public SingleCore { public: void Show() { coutSingle Core Bendl; } }; //多核 class MultiCore { public: virtual void Show() 0; }; class MultiCoreA : public MultiCore { public: void Show() { coutMulti Core Aendl; } }; class MultiCoreB : public MultiCore { public: void Show() { coutMulti Core Bendl; } }; //工厂 class CoreFactory { public: virtual SingleCore* CreateSingleCore() 0; //只指定要生产单核类和多核类而不需要指定要生产A还是b类等等virtual MultiCore* CreateMultiCore() 0; }; //工厂A专门用来生产A型号的处理器 class FactoryA :public CoreFactory { public: SingleCore* CreateSingleCore() { return new SingleCoreA(); } MultiCore* CreateMultiCore() { return new MultiCoreA(); } }; //工厂B专门用来生产B型号的处理器 class FactoryB : public CoreFactory { public: SingleCore* CreateSingleCore() { return new SingleCoreB(); } MultiCore* CreateMultiCore() { return new MultiCoreB(); } };  转载于:https://www.cnblogs.com/zf-blog/p/9120628.html
http://www.zqtcl.cn/news/737059/

相关文章:

  • 网站用户体验解决方案个人网页设计作品赏析
  • 常州网站建设方案外包网站开发用到的技术
  • 防伪网站模板如何找百度做网站
  • 网站建设与维护成绩查询云南app开发系统
  • 自己做网站的难度建设专门网站 强化信息宣传
  • 公职单位建设网站的目的如何查看小程序的开发公司
  • 网页模板网站推荐青岛 php 网站建设
  • joomla 网站建设3d网站建设
  • 网站开发与维护专业前景网站被禁止访问怎么打开
  • 山东 网站建设青海公路建设市场信用信息服务网站
  • 济南正规做网站公司wordpress一键还原
  • 免费的购物网站源码百度网站优化
  • 企业需要做网站吗深圳装修公司前十强
  • 合肥做网站推广哪家好软文写作的十大技巧
  • 哪里做网站的wordpress歌词插件
  • 网站改版做301重定向百度站长平台查询
  • 织梦网站后台网址妙影免费模板下载
  • 甘肃网站建设开发怎么利用花生壳做自己的网站
  • 怎么查询网站开通时间建个短视频网站
  • 物流网站建设广东网站建设效果
  • 网站推广工作流程图天蝎网站建设
  • 备案ip 查询网站查询网站校园门户网站建设方案
  • 网站seo快速优化技巧建设网站的需要学习哪些课程
  • 网站建设微信托管wordpress p=
  • 专业手机网站制作哪家好吉林建筑大学本科招生网
  • 建立一个网站需要哪些google和百度等相关网站的广告词
  • 手机开发网站教程做古建的那些网站比较适合
  • 网站建设公司的前景长沙商城网站开发
  • 大型网站tag标签 索引自己做网站需要哪些软件
  • 石排做网站万网网站备案流程