我正在研究GOF中记录的Decorator模式。请帮助我了解装饰器模式。有人可以举一个在现实世界中有用的用例示例吗?
4 回答
皈依舞
TA贡献1851条经验 获得超3个赞
这是一个简单的示例,将新行为动态添加到现有对象或Decorator模式中。由于动态语言(例如Javascript)的性质,这种模式成为语言本身的一部分。
// Person object that we will be decorating with logging capability
var person = {
name: "Foo",
city: "Bar"
};
// Function that serves as a decorator and dynamically adds the log method to a given object
function MakeLoggable(object) {
object.log = function(property) {
console.log(this[property]);
}
}
// Person is given the dynamic responsibility here
MakeLoggable(person);
// Using the newly added functionality
person.log('name');
- 4 回答
- 0 关注
- 586 浏览
添加回答
举报
0/150
提交
取消