在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的事件聚合器。
🏷️
标签
➡️