在Avalonia项目中使用MediatR和MS.DI库实现事件驱动通信
原文中文,约8300字,阅读约需20分钟。
📝
内容提要
AvaloniaUI是一个跨平台.NET客户端开发框架,支持Windows、Linux、macOS、Android和iOS等多个平台。MediatR是一个开源的中介者模式实现,用于模块间和模块与主程序的通信。本文介绍了如何在Avalonia项目中使用MediatR和Microsoft的依赖注入库来实现事件驱动的通信。通过示例代码演示了请求/响应和通知的使用方式。
🎯
关键要点
-
AvaloniaUI是一个跨平台.NET客户端开发框架,支持多个平台。
-
MediatR是一个开源的中介者模式实现,用于模块间和主程序的通信。
-
本文介绍如何在Avalonia项目中使用MediatR和Microsoft的依赖注入库实现事件驱动的通信。
-
MediatR支持两种消息传递方式:请求/响应和通知。
-
请求/响应类似于HTTP的请求/响应,通知允许多个处理者参与处理。
-
在Avalonia项目中需要安装Prism.DryIoc.Avalonia、MediatR和DryIoc.Microsoft.DependencyInjection等NuGet包。
-
配置DryIoc容器以使用Microsoft的DI扩展,并注册MediatR服务。
-
请求和通知的定义结构相似,主要通过实现不同的接口来区分。
-
在主工程和模块中添加请求和通知的处理程序。
-
通过依赖注入获取请求和通知的发送者实例,并触发请求和通知。
-
使用MediatR可以复用大部分事件代码,优于Prism的事件聚合器。
🏷️