【问题标题】:How does publish-subscribe design pattern establish loose coupling between components? C#发布-订阅设计模式如何建立组件之间的松散耦合? C#
【发布时间】:2019-10-26 16:02:09
【问题描述】:

如果我正在看一本 C# 考试书,我读到:

一种流行的设计模式(针对反复出现的问题的可重用解决方案) 在应用程序开发中是发布-订阅。你可以 订阅一个事件,然后你会在发布者收到通知 该事件引发了一个新事件。这用于建立松散耦合 应用程序中的组件之间。

这让我想知道这与松散耦合有什么关系?仅仅是因为组件现在没有直接交互还是我们有更多的原因?

【问题讨论】:

  • 是的,组件不直接交互,您不会创建要直接发送给特定订阅者的消息/事件。发布者在不知道订阅者存在或逻辑的情况下生成事件/消息。这就是松耦合的重点

标签: c# design-patterns publish-subscribe


【解决方案1】:

这里有两个重点。

1) 用户无需等待结果或触发单击或刷新等事件来获取更改,这将事件源从前端到后端解耦

2) 我不确定您是否会这样做,但事件溯源在发布订阅机制中被广泛使用,这将允许您大量解耦域实体

例如。 贷记的雇员工资还将触发创建工资单的事件,该事件将在员工的工资单页面上添加 pdf 并发送没有员工工资的邮件 这将使员工与工资单生成服务以及邮寄服务脱钩。并为最终用户更新 UI

【讨论】:

    猜你喜欢
    • 2011-02-22
    • 1970-01-01
    • 2010-11-28
    • 2011-01-20
    • 1970-01-01
    • 2020-10-26
    • 2013-05-06
    • 1970-01-01
    • 2012-09-01
    相关资源
    最近更新 更多