js装饰设计模式学习体会
装饰设计图案
每种设计都有自己独特的应用场景和解决问题的方法。装饰设计模式是一种通过向对象动态添加新功能来替代继承的技术,通过继承可以扩展对象的新功能,而无需添加子类。使用对象的关联关系代替继承关系更加灵活,同时避免了类型系统的快速扩展。这种模式适用于新增加的功能不足以解决以继承为代价的问题的情况。装饰设计图案:动态地给对象增加了一些额外的责任。为了扩展对象的功能,装饰器提供了比继承更灵活的选择。
结构图:
连接
var Bicycle=新接口(' Bicycle ',[' assembly ',' wash ',' repair ',' getPrice ']);对象类
var AcmeComfortCuiser=function(){ };acmecomfortcuiser . prototype={ assembly : function(){ },wash:function () {},repair:function () {},getprice:function () {}}装饰类
var BicycleDecorator=function(自行车){ Interface.ensureImplements(自行车,自行车);自行车。};DicycleDecorreator . prototype={ assembly : function(){ return this . bicycle . assembly();},wash : function(){ return this . bicycle . wash();},repair : function(){ return this . bike . repair();},getPrice:函数(){ return this . bicycle . getprice();}}扩展类
var HeadLightDecorator=function(bicycle){ DicycleDecorator . call(this,bicycle);};扩展(HeadlightDecorator、DiCycleDecorator);headlightdecorator . prototype . getprice=function(){ return this . bicycle . getprice()15.00;}
版权声明:js装饰设计模式学习体会是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。