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

推荐一下做图文的网站html简单的个人网页代码

推荐一下做图文的网站,html简单的个人网页代码,百度app,十大货源网站大全本文介绍策略模式以及使用函数式编程替代简单的策略模式。 策略模式 在策略模式#xff08;Strategy Pattern#xff09;中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式定义了一系列算法或策略#xff0c;并将每个算法封装在独立…本文介绍策略模式以及使用函数式编程替代简单的策略模式。 策略模式 在策略模式Strategy Pattern中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式定义了一系列算法或策略并将每个算法封装在独立的类中使得它们可以互相替换。通过使用策略模式可以在运行时根据需要选择不同的算法而不需要修改客户端代码。 在策略模式中我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 上面这段话来自菜鸟教程。简单来说就是一种封装。Context需要执行某种算法但是Context无法构造出算法的细节于是Context需要找Concrete Strategy类获取不同的Concrete Strategy类对应不同的算法因为他们继承自一个公共的Abstract Strategy。 作为行为型模式的一种这个还是一个比较好理解的设计模式至少对我来说。我大概看了介绍就写了写C的实现 首先定义一个公共的父类 struct AbsBaseStrategy { public:virtual void show() 0; };然后写两个子类继承 struct SpecificStrategy1 : AbsBaseStrategy { public:void show() override{cout SpecificStrategy1 show endl;} };struct SpecificStrategy2 : AbsBaseStrategy { public:void show() override{cout SpecificStrategy2 show endl;} };写一个公共的上下文调用策略类的方法。我比较懒这里就用智能指针了。引用的写法是类似的 struct TradStrategyCtxt { public:TradStrategyCtxt(shared_ptrAbsBaseStrategy strategy) : m_strategy(strategy){};void ctxtShow(){m_strategy-show();}private:shared_ptrAbsBaseStrategy m_strategy; };然后使用的时候直接传递具体的对象进来就行 int main() {TradStrategyCtxt ctxt1(make_sharedSpecificStrategy1());TradStrategyCtxt ctxt2(make_sharedSpecificStrategy2());ctxt1.ctxtShow();ctxt2.ctxtShow(); }函数式编程下的策略模式 事实上如果只是调用某一个或者少量某几个具体的方法我们大可不必非得传一个类进来。不同的策略类唯一的意义就是对接口函数进行包装那如果直接把函数指针传入也是可以的。还是上面的例子。 我们使用两个函数代替两个具体的策略类 void show1() {cout SpecificStrategy1 show endl; };void show2() {cout SpecificStrategy2 show endl; };在Context中直接传入函数指针 struct TradStrategyCtxt { public:TradStrategyCtxt(functionvoid() func) : m_func(func){};void ctxtShow(){m_func();}private:functionvoid() m_func; };调用的地方也不需要修改什么最后的效果是相同的 int main() {TradStrategyCtxt ctxt1(show1);TradStrategyCtxt ctxt2(show2);ctxt1.ctxtShow();ctxt2.ctxtShow(); }
http://www.pierceye.com/news/582666/

相关文章:

  • 网页新建站点网站建设缺陷
  • 移动端网站推广怎么申请pc网站域名
  • 外国男男做暧暧视频网站二级建造师考试试题
  • 普通网站建设是什么wordpress主题显示不
  • 朔州网站建设全球速卖通是什么平台
  • wordpress外贸网站好用的模板下载网站开发就业趋势
  • 长春模板建站代理网站开发嘉比格网络
  • 网站建设预算企业网站的公司和产品信息的介绍与网络营销关系
  • 网站开发的学习电子商务网站建设公
  • 网站的功能需求分析c语言网页编辑器
  • 网站投资多少钱制作做的网站如何上传网上
  • 沈阳自助建站模板网站建设想法
  • 湖南岳阳网站建设公司黄页顺企网怎样不让网站被收录
  • 有没有专门做翻译的网站安徽建设工程信息网招标公告
  • 保险咨询网站留电话中国十大网络公司排行榜
  • 领手工在家做的网站2019网页设计与实现论文
  • 兰州微信信息平台网站建设绍兴本地网站建设
  • 关于旅游网站策划书千锋前端培训多少钱
  • 温州网站建设结构做代练网站能备案
  • 零基础学习做网站第三方装修评估公司
  • 基础微网站开发动态网站彩票投注员做啥的
  • 西安做网站设计公司爱做网站免费版
  • 效果图网站接单重庆一般建一个网站需要多少钱
  • 网站建设征求意见稿辅料企业网站建设费用
  • 上海网站建设公司服务沅江网站制作
  • 公司网站开发费用计入什么科目虚拟主机怎么建网站
  • 天津网站建设技术网页设计与制作教程版徐洪亮课后答案
  • 旅游网站建设方案简介用asp做的网站打开页面很慢
  • 做影视网站 片源从哪里来做自媒体的上那些网站
  • 邢台网站开发百度云 做网站