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

网站后台数据处理编辑主要是做什么的啊网络营销外包推广系统

网站后台数据处理编辑主要是做什么的啊,网络营销外包推广系统,网店详情页面设计,phpstudy怎么创建网站什么是职责链模式 职责链模式的定义是#xff1a;使多个对象都有机会处理请求#xff0c;从而避免请求的发送者和接收者之间的耦合关系#xff0c;将这些对象连成一条链#xff0c;并沿着这条链传递该请求#xff0c;直到有一个对象处理它为止。举个例子#xff1a;当你从…什么是职责链模式   职责链模式的定义是使多个对象都有机会处理请求从而避免请求的发送者和接收者之间的耦合关系将这些对象连成一条链并沿着这条链传递该请求直到有一个对象处理它为止。举个例子当你从公交车后门上车之后你不可能直接把硬币放到收款箱里面 因为你不知道它在哪那你就只能把硬币给你前面一个人让他帮你传到前面一个人手上这样一直传递到站在收款箱旁边人的手上由他把硬币放到收款箱里面。   职责链模式思想   请求发送者只需要知道链中的第一个节点从而弱化了发送者和一组接收者之间的强联系。   JavaScript实现职责链模式AOP方式    Function.prototype.after function(fn) {var _self this;return function () {var ret _self.apply(this, arguments);if(ret nextSuccessor) {return fn.apply(this, arguments);}return ret;}}   是的没错在JavaScript中实现职责链模式就是如此的简单如果对上面AOP代码不了解可以参考我之前写的这篇文章JavaScript实现AOP这个方式和装饰者模式看起来很像从代码上来看确实很像但是他们的出发点是完全不同的   AOP实现装饰者模式在不改变已有函数内部的情况下添加一些新的功能你可以想象一下同心圆你每调用一次after就相当于给你的圆外面又加了一个圆来包裹住它。注意它们是包含关系   AOP实现职责链模式在函数执行之后确定是否执行下一个函数你每次调用after都相当于在已有函数之后添加一个函数至于是否执行后面这个函数取决于前一个函数的返回值。注意它们是链式关系   职责链模式实例    function cat (type) {if(type cat) {console.log(我是猫猫);} else {return nextSuccessor} }function dog (type) {if(type dog) {console.log(我是狗狗);} else {return nextSuccessor} }function pig (type) {if(type pig) {console.log(我是猪猪);} else {return nextSuccessor} }Function.prototype.after function(fn) {var _self this;return function () {var ret _self.apply(this, arguments);if(ret nextSuccessor) {return fn.apply(this, arguments);}return ret;} }var pet cat.after(dog).after(pig);pet(pig); //我是猪猪 pet(dog); //我是狗狗 pet(cat); //我是猫猫   请看上述代码我们给pet方法传入了三个不同的参数得到了不同的结果。拿第一次调用举例其执行过程是这样的传入“pig”先由cat方法判断cat方法发现自己处理不了于是把“pig”传递给dog方法return nextSuccessor来表示传递给下一个函数dog方法发现自己也处理不了再接着把“pig”传递到pig方法pig方法可以处理控制台打印我是猪猪。 你可能会觉得这不是浪费精神么上述功能只需使用下面的几行代码就能解决为何还要多写上面那么多代码 function pet(type) {if(type cat) {console.log(我是猫猫);} else if(type dog) {console.log(我是狗狗);} else if(type pig) {console.log(我是猪猪);} }pet(pig); //我是猪猪 pet(dog); //我是狗狗 pet(cat); //我是猫猫   这样看来好像是简单了很多。但是你有没有考虑过如果以后突然多了猴子这种动物如果使用上面的垃圾代码那你就要去修改pet函数的源码多添加一条if语句判断是不是猴子其实这也还好如果是加了1万种动物呢那你就要在pet这个函数里添加1万条if语句什么还不够浮夸那你有没有考虑过一种动物还会分很多品种比如说猫咪分为长毛猫短毛猫。这样你的代码就会涉及到嵌套if语句。恕我直言现在你的代码已经丑成狗了嘻嘻   但是如果使用职责链模式每多一个种动物我们就给他定义一个函数然后添加到职责链上这样一来新的函数就和原来的函数高度解耦。并且我们的请求发送者只需要传递给链的第一个节点而不用关心传递给具体哪一个节点反正它会顺着职责链传送下去直到找到能处理请求的那个节点并且处理请求。岂不美哉           转载于:https://www.cnblogs.com/yonglin/p/8339239.html
http://www.huolong8.cn/news/37636/

相关文章:

  • 网页设计做网站网站开发常见问题总结
  • 邹城住房城乡建设部网站百度怎么注册自己的网站
  • 简单的网站建设公司的模板外包公司做网站怎么样
  • 网站mip怎么做外贸公司的网站
  • 装修企业网站源码网站网页设计心得
  • 个人可以做外贸网站吗游戏大厅定制游戏开发
  • 网站轮播广告代码网上做兼职做网站
  • 重庆网站营销网站容易出现的问题吗
  • 南昌城市旅游网站建设公众号运营策划书
  • 网站的类型是什么意思开发过程怎么写
  • 网站编辑框超链接怎么做县网站建设
  • 起公司名称大全免费网站seo站长工具综合查询
  • 学习html5的网站网站建设yankt
  • 商城网站模板 免费金坛建设网站
  • 顺的网站建设多少钱促进房地产市场健康发展
  • wordpress 获取网站地址建筑工地招工
  • 宁德网站建设51yunsou网站如何做百度推广
  • 网站的建设可以起到什么作用是什么原因营销方式方案案例
  • 建设银行纪检监察网站wordpress换主题后打不开
  • 北京海淀网站建设做网站郴州
  • 做网站需要每年都交钱吗产品宣传
  • 沧州网站建设 3tseo宣传网站怎么做
  • 网站运营新手做早8晚5双休的工作
  • 网站自动弹窗代码温州网站制作策划
  • 广州微信网站建设市场wordpress 手机显示图片
  • 修改仪表盘WordPressseo技术培训海南
  • dede网站安全泰安市星际网络科技有限公司
  • 网站工作室设计东莞常平新地俱乐部
  • 淮安经济技术开发区建设局网站做实验用哪些国外网站
  • 泰州网站制作平台wordpress的博文页面如何自定义