中介模式VS门面模式

问题描述 投票:0回答:1

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

谢谢,

design-patterns
1个回答
2
投票

根据您的描述,我了解您(大多数)关注的是组件之间的通信。在这种情况下,你是对的,你应该采用Mediator模式。

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

Facade模式是结构模式,用于包装现有功能,以便为访问此功能提供更简单的界面。如果您将一组类包装在Facade后面并且其他人可以使用简化的界面,那么它也会很有用。

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

© www.soinside.com 2019 - 2024. All rights reserved.