知识卡片
中介者模式的现实原型
内容
[[中介者模式的定义与自发行为/依赖方法的区分]]在现实世界随处可见:机场调度中心协调飞机 降落顺序;MVC的Controller隔离Model和View;MSN服务器转发消息使客户端不直接通信;房屋 中介让租客不必挨个联系房东。发散:这些例子共同结构是”协商成本随参与方数量增长过快时会 自然演化出专职中转角色”,说明中介者模式是对普遍协作模式的提炼,不是程序员发明的技巧。
参考来源
- 位置:《设计模式之禅(第2版)》第14章《中介者模式》(源文件:_epub-src/text/part0065.html)
- 结论依据:原文列举机场调度中心、MVC框架的Controller、MSN媒体网关、房屋中介四个现实场景,逐一说明它们如何通过一个中心化角色协调多方交互、避免各方两两直接耦合。
- 原始内容:机场调度中心……它就是具体的中介者,用来调度每一架要降落和起飞的飞机……MVC框架,其中的C(Controller)就是一个中介者……MSN服务器(中介者)接收到消息,查找李四,把消息发送到李四……有了中介后,你就省心多了,找中介,然后安排看房子。