知识卡片
中介者模式不是"有依赖就该用"而是"量力而行"
内容
类间存在依赖是常态,但不意味着只要多重依赖就该用[[中介者模式的定义与自发行为/依赖方法的区分]]——若依赖已经足够简单,强行引入反而会制造膨胀问题。判断信号是类图已呈蜘蛛网状, 或N个对象(N>2)间产生相互依赖且未来会变化。产品级开发比项目级更适合引入中介者,因为 产品追求长期稳定性能承担设计成本。发散:设计模式的价值取决于场景是否匹配。
参考来源
- 位置:《设计模式之禅(第2版)》第14章《中介者模式》(源文件:_epub-src/text/part0064.html、part0066.html)
- 结论依据:原文明确"是否可以说只要有多个依赖关系就考虑使用中介者模式呢?答案是否定的……中介者模式适用于多个对象之间紧密耦合的情况,紧密耦合的标准是:在类图中出现了蜘蛛网状结构",并在最佳实践中补充产品开发比项目开发更适合使用中介者模式。
- 原始内容:是否可以说只要有多个依赖关系就考虑使用中介者模式呢?答案是否定的……中介者模式适用于多个对象之间紧密耦合的情况,紧密耦合的标准是:在类图中出现了蜘蛛网状结构……产品开发……可以提升产品的性能和扩展性,但是对于项目开发就未必。