【问题标题】:Mediator Pattern VS Facade Pattern中介者模式 VS 门面模式
【发布时间】:2018-02-27 13:56:16
【问题描述】:

我正在修改一个 PHP 系统,但是类通信太多了,所以我搜索了一种模式来解决这个问题,我发现 Mediator 模式旨在解决一个复杂的对象通信也门面可能有助于减少冗余代码和调用,那么我应该考虑哪一个?

谢谢,

【问题讨论】:

  • 您确实需要显示通信类型的更多详细信息(代码)。这个问题太笼统了,不好回答。
  • Façade vs. Mediator的可能重复

标签: design-patterns


【解决方案1】:

根据您的描述,我了解到您(最关心的)是组件之间的通信。在这种情况下,你是对的,你应该使用中介者模式。

中介者模式是一种行为模式,它允许交互组件的更松散耦合,同时封装交互和通信逻辑。换句话说,您的交互组件(类)在它们的相互通信方面将有更少的负担,并且中介对象将协调它们的交互方式。它还为您提供了放置通信/交互逻辑的单点。非常适合复杂但定义明确的通信“规则”。

外观模式是一种结构模式,用于包装现有功能,以便为访问此功能提供更简单的接口。如果您将一组类包装在外观后面并且其他人可以使用简化的接口,这也很有用。

但如果您发现自己需要为不同的分组和它们之间的调用组合创建许多外观,Mediator 是最佳选择。

【讨论】: