首页 > 代码库 > javascript设计模式之装饰者模式

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

 

javascript设计模式之装饰者模式