JavaScript 设计模式——结构——装饰器
作者:互联网
装饰器是一种结构设计模式,它允许我们将新行为放置在包含对象的特殊包装对象中,从而将新行为附加到对象上。
在下面的示例中,我们使用装饰器来扩展 Facebook 通知中的行为。
class Notification { constructor(kind) { this.kind = kind || "Generic"; } getInfo() { return `I'm a ${this.kind} Notification`; } } class FacebookNotification extends Notification { constructor() { super("Facebook"); } setNotification(msg) { this.message = msg; } getInfo() { return `${super.getInfo()} with the message: ${this.message}`; } } class SMSNotification extends Notification { constructor() { super("SMS"); } getInfo() { return super.getInfo(); } } export { FacebookNotification, SMSNotification };
在运行时向对象添加扩展而不影响其他对象时使用此模式。
标签:JavaScript,装饰器,对象 来源: