为了账号安全,请及时绑定邮箱和手机立即绑定

通过实际示例了解“装饰器模式”

通过实际示例了解“装饰器模式”

胡子哥哥 2019-12-07 16:33:57
我正在研究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');


查看完整回答
反对 回复 2019-12-07
  • 4 回答
  • 0 关注
  • 586 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信