知识卡片

通信位置选择

普通读书笔记卡 · 1922.n

内容

对象协作可以分布在参与者中,也可以封装到中介者、命令或访问者里。分布式协作局部自然,集中式协作全局可见。发散:复杂系统常需要在可读性和局部自治之间找平衡。

参考来源

- 位置:第5章《行为型模式》5.12.3节「通信应该被封装还是被分布」(源文件:_epub-src/OEBPS/Text/part0094.xhtml) - 结论依据:原文明确对比Mediator和Observer两种相互竞争的模式:Observer通过引入Observer和Subject对象来分布通信,Mediator对象则封装了其他对象间的通信、将维护约束的职责直接放在中介者中,直接支持卡片对对象协作可以分布在参与者中也可以封装到中介者里、分布式与集中式协作各有取舍的论述。 - 原始内容:"Mediator(5.5)和Observer(5.7)是相互竞争的模式。它们之间的差别是,Observer通过引入Observer和Subject对象来分布通信,而Mediator对象则封装了其他对象间的通信……Mediator模式的目的是集中而不是分布。"