js装饰设计模式学习心得(详细解答)

本片文章给大家分享一下作者学习javascript装饰设计模式后的心得以及要点分享,有兴趣的朋友参考下。

装饰设计模式

每种设都有其独特的应用场景和解决问题的方式, 装饰设计模式是动态的为对象添加新的功能, 是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀, 这种模式适合新添加的功能不足以用继承为代价解决问题的情况时使用 – 杀鸡焉用宰牛刀 ^_^装饰设计模式: 动态地为一个对象添加一些额外的职责,若要扩展一个对象的功能,装饰者提供了比继承更有弹性的替代方案。

结构图:

js装饰设计模式学习心得(详细解答)

接口

var Bicycle = new Interface('Bicycle', ['assemble', 'wash', 'repair', 'getPrice']);

登录后复制

对象类

var AcmeComfortCuiser = function(){};AcmeComfortCuiser.prototype = {  assemble: function(){  },  wash: function(){  },  repair: function(){  },  getPrice: function(){  }}

登录后复制

装饰类

var BicycleDecorator = function(bicycle){  Interface.ensureImplements(bicycle, Bicycle);  this.bicycle = bicycle;};BicycleDecorator.prototype = {  assemble: function(){    return this.bicycle.assemble();  },  wash: function(){    return this.bicycle.wash();  },  repair: function(){    return this.bicycle.repair();  },  getPrice: function(){    return this.bicycle.getPrice();  }}

登录后复制

拓展类

  var HeadlightDecorator = function(bicycle){    BicycleDecorator.call(this, bicycle);  };  extend(HeadlightDecorator, BicycleDecorator);  HeadlightDecorator.prototype.getPrice = function(){    return this.bicycle.getPrice() + 15.00;  }

登录后复制

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

使用JS回调函数案例说明

使用JS回调函数案例说明

nodejs搭建本地服务器处理跨域

以上就是js装饰设计模式学习心得(详细解答)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2761147.html

(0)
上一篇 2025年3月8日 09:29:23
下一篇 2025年3月8日 09:29:31

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论