设计模式--装饰者模式

用途

动态的给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象。

简单的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var Plane=function() {
}
Plane.prototype.fire=function() {
console.log('fire!');
}
var MissileDecorator=function(plane) {
this.plane=plane;
}
MissileDecorator.prototype.fire=function() {
console.log('missile!!');
this.plane.fire();
}
var plane=new Plane();
plane=new MissileDecorator(plane);
plane.fire();