gpt4 book ai didi

design-patterns - ESB 是中介者模式的一个例子吗?

转载 作者:行者123 更新时间:2023-12-04 06:59:30 24 4
gpt4 key购买 nike

我刚刚对设计模式进行了更新,并试图将我遇到的真实世界示例映射到设计模式例如:代理模式 -> WCF

通过中介者模式,企业服务总线浮现在脑海中,因此出现了这个问题。

最佳答案

在中介者模式中,"communication between objects is encapsulated with a mediator object."目标是通过将通信路由细节留在中介中来实现类中更高的凝聚力。对象直接耦合到中介,彼此松散耦合。

在企业服务总线架构中,"all customer services communicate in the same way with the ESB: the ESB translates a message to the correct message type and sends the message to the correct producer service."

对我来说,它似乎比 GoF Mediator 更抽象,其示例往往与特定应用程序相关。例如,用户界面行为可能指定当用户单击列表中的项目时,应将单击的项目复制到文本框中。这种行为逻辑非常特定于应用程序,但如果它散布在协作类之间(例如,项目列表和文本框各自管理控件的某些部分),则很难维护该逻辑。分散该逻辑会使协作对象的凝聚力降低。 GoF Mediator 集中了这个应用程序逻辑,因此 Item List 不知道文本框等。

我将 ESB 视为提供路由服务,针对特定应用程序的行为对其进行自定义可能并不那么容易。例如,实体仍然需要了解彼此以进行通信,但细节已被抽象。行为在规则中定义。我可以将 ESB 视为通用中介,但提供通用性的抽象可能会使其比给定应用程序的 GoF 中介更难理解(最终缺乏凝聚力)。

ESB 更像是一种架构模式(通用服务),而中介者可以是一种非常特定于应用程序的模式。

关于design-patterns - ESB 是中介者模式的一个例子吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22425314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com