javascript设计模式之装饰者模式
/* * 装饰者模式提供比继承更有弹性的替代方案 * 在不改变原构造函数的情况下,添加新的属性或功能 */ //需要装饰的类(函数) function Macbook() { this.cost = function () { return 1000; }; } // 加个内存 function Memory(macbook) { this.cost = function () { return macbook.cost() + 100; }; } // 再买个保险 function Insurance(macbook) { this.cost = function () { return macbook.cost() + 250; }; } var myMac = new Insurance(new Memory(new Macbook())); console.log(myMac.cost()); // 1350
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。