Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。
1年前关闭。
Improve this question
以前可能有人问过它,但即使在官方网站上也找不到为什么我应该使用MediatR及其解决的问题?
是因为我可以在构造函数中传递单个对象,而不是传递多个接口(interface)吗? 它是ServicesBus等的替代品还是竞争对手? 基本上有什么好处,它可以解决什么问题
我想购买它,但是对我来说不清楚为什么我应该使用它。
非常感谢
这是一个备受争议的话题,还没有一个万能的解决方案,请看一下这个问题
How to avoid Dependency Injection constructor madness?
如果您想将依赖项隐藏在更多抽象之后,那么此时,您将要看一看所有选项,例如重构,更多地分离关注点或其他技术。
老实说,MediatR网站上给出的示例问题和解决方案有点让人怀疑,但是它确实有其用法。简而言之,您需要选择最适合您和您的环境的产品。
中介者模式概述
中介者是决定对象如何以及何时相互交互的对象。它封装了“如何”并根据状态,调用方式或您为其提供的有效负载来协调执行。
关于您的问题的实质,您应该真正访问以下站点:
Simplifying Development and Separating Concerns with MediatR
有关介体模式的更多信息
中介者模式通过通过中介者(它是事物)的通信来帮助decoupling您的应用程序。
通常,程序由大量类组成。但是,随着将更多类添加到程序中,这些类之间的通信问题可能会变得更加复杂。这使程序难以阅读和维护。此外,更改程序可能变得困难,因为任何更改都可能影响其他几个类中的代码。
通过中介者模式,对象之间的通信被封装在中介者对象中。对象不再彼此直接通信(解耦),而是通过调解器进行通信。这减少了通信对象之间的依赖性,从而减少了耦合。
在现代软件中,通常可以在许多框架中找到调解器模式,但是您可以创建自己的模式,也可以使用可用的众多模式之一。
从这里开始,我认为您可能应该做更多的研究,通常是您在研究它们之前先确定需要这些东西,但是在这种情况下,我认为您确实需要找到一些很好的例子来了解是否需要调解人模式,以及更多MediatR库
更新
对此,wired_in发表了一些实用的评论
和
想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。
1年前关闭。
Improve this question
以前可能有人问过它,但即使在官方网站上也找不到为什么我应该使用MediatR及其解决的问题?
我想购买它,但是对我来说不清楚为什么我应该使用它。
非常感谢
最佳答案
不。
不。
除其他外,MediatR试图解决的问题之一是MVC Controller 中的DI构造器爆炸
public DashboardController(
ICustomerRepository customerRepository,
IOrderService orderService,
ICustomerHistoryRepository historyRepository,
IOrderRepository orderRepository,
IProductRespoitory productRespoitory,
IRelatedProductsRepository relatedProductsRepository,
ISupportService supportService,
ILog logger
)
这是一个备受争议的话题,还没有一个万能的解决方案,请看一下这个问题
How to avoid Dependency Injection constructor madness?
如果您想将依赖项隐藏在更多抽象之后,那么此时,您将要看一看所有选项,例如重构,更多地分离关注点或其他技术。
老实说,MediatR网站上给出的示例问题和解决方案有点让人怀疑,但是它确实有其用法。简而言之,您需要选择最适合您和您的环境的产品。
中介者模式概述
中介者是决定对象如何以及何时相互交互的对象。它封装了“如何”并根据状态,调用方式或您为其提供的有效负载来协调执行。
关于您的问题的实质,您应该真正访问以下站点:
Simplifying Development and Separating Concerns with MediatR
有关介体模式的更多信息
中介者模式通过通过中介者(它是事物)的通信来帮助decoupling您的应用程序。
通常,程序由大量类组成。但是,随着将更多类添加到程序中,这些类之间的通信问题可能会变得更加复杂。这使程序难以阅读和维护。此外,更改程序可能变得困难,因为任何更改都可能影响其他几个类中的代码。
通过中介者模式,对象之间的通信被封装在中介者对象中。对象不再彼此直接通信(解耦),而是通过调解器进行通信。这减少了通信对象之间的依赖性,从而减少了耦合。
在现代软件中,通常可以在许多框架中找到调解器模式,但是您可以创建自己的模式,也可以使用可用的众多模式之一。
从这里开始,我认为您可能应该做更多的研究,通常是您在研究它们之前先确定需要这些东西,但是在这种情况下,我认为您确实需要找到一些很好的例子来了解是否需要调解人模式,以及更多MediatR库
更新
对此,wired_in发表了一些实用的评论
和
10-06 12:59