桥接模式(Bridge Pattern)
|
1 2 3 |
定义:是用于把抽象化与实现化解耦,使得二者可以独立变化。 目的:将抽象部分与实现部分分离,使它们都可以独立的变化。 场景:实现系统可能有多个角度分类,每一种角度都可能变化。 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
// 实现部分 class EmailSender { send(content) { console.log(`邮件发送:${content}`) } } class SmsSender { send(content) { console.log(`短信发送:${content}`) } } // 抽象部分 class Message { constructor(sender) { this.sender = sender } send(content) { return this.sender.send(content) } } class NormalMessage extends Message { send(content) { return this.sender.send(content) } } class UrgentMessage extends Message { send(content) { return this.sender.send(`[紧急] ${content}`) } } |
自由组合:
|
1 2 3 4 5 6 7 8 |
// 邮件发送:会议通知 const normalEmail = new NormalMessage(new EmailSender()) normalEmail.send('会议通知') // 短信发送:[紧急] 服务器异常 const urgentSms = new UrgentMessage(new SmsSender()) urgentSms.send('服务器异常') |
Github地址:https://gi[……]