Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 后端系统中的事件聚合模式_C#_Wpf_Prism_Decoupling_Eventaggregator - Fatal编程技术网

C# 后端系统中的事件聚合模式

C# 后端系统中的事件聚合模式,c#,wpf,prism,decoupling,eventaggregator,C#,Wpf,Prism,Decoupling,Eventaggregator,我想利用C#编写的非WPF后端系统的强大模式 这是个好主意吗?这主要是由前端框架实现的,有什么具体原因吗 B.如果是,是否有人知道一个框架(显然不是Prism)支持该框架,或者可以提供某种我可以使用的框架?EventAggregator是一种通用模式。它是一个抽象的静态总线,用于发布事件和订阅事件。没有别的,本质上。仅在前端使用它没有任何限制 例如,您可以在Caliburn.Micro framework中找到该模式的实现 还有一点。 考虑有时事件聚合器隐藏对象的依赖性。这是一个好主意还是不好,

我想利用C#编写的非WPF后端系统的强大模式

这是个好主意吗?这主要是由前端框架实现的,有什么具体原因吗


B.如果是,是否有人知道一个框架(显然不是Prism)支持该框架,或者可以提供某种我可以使用的框架?

EventAggregator是一种通用模式。它是一个抽象的静态总线,用于发布事件和订阅事件。没有别的,本质上。仅在前端使用它没有任何限制

例如,您可以在Caliburn.Micro framework中找到该模式的实现

还有一点。
考虑有时事件聚合器隐藏对象的依赖性。这是一个好主意还是不好,由你来决定。

多亏棱镜坏了,我只能使用图书馆。我所要做的就是添加一个带有
Export
PartCreationPolicy
属性的MEF包装类

[Export(typeof(IEventAggregator))]
[PartCreationPolicy(CreationPolicy.Shared)]
public class MefEventAggregator : EventAggregator
{
}

你使用依赖注入吗?@Ric.Net是的,我使用了,这就是我想的,我只是觉得有点奇怪,这种模式的所有实现都在UI框架中(包括Caliburn.Micro)。没有什么特别的,你可以在你觉得适合你的需求的地方自由使用。是的,没错。不要忘记,MEF默认情况下将依赖项导出为共享。如果要通过IoC创建ViewModels,请注意这一点。