知识卡片

显式连接器转移职责实现灵活替换

普通读书笔记卡 · 1958.j.7

内容

把组件间的通信机制(方法调用、事件、共享变量)具化成显式的连接器类,能带来实实在在的架构收益:直接用共享内存通信,保证并发安全的职责落在组件自己身上;换成显式连接器类,这份职责被转移到连接器上,组件反而变简单了。还带来两个好处:以后想把本地连接器换成分布式连接器,只需替换连接器实现,组件代码不用动;组件内部不能再绕过连接器直接通信,出问题只需盯着连接器这一处,调试更容易。

参考来源

- 位置:《恰如其分的软件架构》第10章《代码模型》10.7节《在代码中表达设计意图的模式》(源文件:_epub-src/OEBPS/text00102.html) - 结论依据:原文说明显式连接器把并发安全等职责从组件转移到连接器类,使组件简化、连接器类型可替换(本地转分布式),并强制通信必须经过连接器,提升可读性和调试便利性。 - 原始内容:显式的连接器带来的一个好处是,可以把组件或构成组件的类的职责转移一部分出去……使以后改变这个连接器的类型成为可能,比方说,把一个本地连接器转化为分布式连接器……让调试协议错误的工作变得更简单,因为现在所有的消息都是从一个地方走的。