Prism:事件聚合器

news/2024/9/21 16:26:08/文章来源:https://www.cnblogs.com/zhuiyine/p/18385464

Prism:事件聚合器

Prism框架提供了一个事件聚合器,可以帮助不同模块之间进行解耦和通信。开发人员可以通过发布和订阅事件来实现模块之间的交互。

IEventAggregator

  • 松耦合基于事件通讯
  • 多个发布者和订阅者
  • 微弱的事件
  • 过滤事件
  • 传递参数
  • 取消订阅

该功能主要作用为, 事件聚合器负责接收订阅以及发布消息。订阅者可以接收到发布者发送的内容。

创建事件类:

image-20240828185920598

发布消息:

image-20240828190011271

订阅消息:

image-20240828190031463

取消订阅:

image-20240828190148418

这里我只是做了一个简单的实例,实际过程中可能会出现多个订阅者等,还得去探索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/788709.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

博弈论算法总结

正在完善! 何为博弈论 博弈论 ,是经济学的一个分支,主要研究具有竞争或对抗性质的对象,在一定规则下产生的各种行为。博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。 先来看一道小学就接触过的思维题 你和好基友在玩一个取石子游戏。面前有30颗石子,…

Prism:区域(Region)

Prism:区域(Region) 什么是区域? 区域 (Region) 用于实现模块化应用程序中的视图组织和管理。区域允许您在一个或多个视图容器中动态地加载和卸载视图,从而实现灵活的内容布局和管理。 区域的用途动态内容加载:您可以将不同的视图加载到同一个区域中,这样可以实现在运行时动…

idea import配置

简介 本文记录idea中import相关配置:自动导入依赖、自动删除无用依赖、避免自动导入*包 自动导入依赖在编辑代码时,当只有一个具有匹配名称的可导入声明时,会自动添加导入File -> Settings -> Editor -> General -> Auto Import 勾选Add unambiguous imports on…

【ROS教程】安装ROS全流程及可能遇到的问题

@目录1.配置Softerware & Updates2.添加软件源3.设置key4.更新并安装4.1 更新4.2 安装(ros-noetic-desktop-full)4.2.1 安装aptitude4.2.2 安装ROS软件包5.添加环境变量6.安装构建依赖7.初始化和更新7.1 初始化7.1.1 目前可行的解决办法:重新定位资源7.1.2 结果7.2 更新1.…

table 固定标题的方法(tr标签)

<!DOCTYPE html> <html> <head> <title>带有额外列的表格示例</title> <style> /* 可选的CSS,用于美化表格 */ table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid black; padding: 8px; tex…

CTF—Crypto基础

一:常见编码类型 1、ASCII编码 (1)特征:在线网址http://www.mokuge.com/tool/asciito16/ 2、base家族编码 (1)base64编码 特点:由A-Z,a-z,0-9,+,/64个可见字符组成、==符号作为后缀填充、不属于编码字符;一般情况下密文尾部会有两个==符号,并且有大写字母和小写字母…

光之大陆

题目求的就是点仙人掌的数量;点仙人掌的所有环缩点之后就变成了一棵树,于是考虑无根树的数量怎么求,很显然利用Prufer序列就好了;然后考虑怎么将Prufer序列移植到点仙人掌上面,此时就要利用扩展Prufer序列 扩展Prufer序列:对于一个点仙人掌来说,先将所有环缩点变成一棵树…

Maui Blazor Windows 显示本地图片新方法更简单快速 支持.Net 8.0 最新版本

目前仅Windows平台测试,安卓平台暂不支持,调用 AppDomain.CurrentDomain.BaseDirectory,直接储存图片到wwwroot里的images文件夹内,在razor里直接使用<img src="images/图片路径" />即可private void SetAvarta(){MainThread.BeginInvokeOnMainThread(asyn…

laravel用AetherUpload实现大文件上传,并更改默认上传目录

github地址:https://github.com/peinhu/AetherUpload-Laravel 实现在laravel进行大文件、分片上传,可以用来传视频1.首先用composer安装,切换到 laravel 项目根目录,执行 composer require peinhu/aetherupload-laravel dev-master 2.在 config/app.php 的 providers 数组中…

【Unity】经典四叉树的实现以及和无空间划分加速下的效率对比分析

背景 假如场景中存在大量的对象,需要快速找到某个范围内的所有对象,如果通过传统的方式,就需要对所有的物体遍历,依次判断是否在范围中,这样非常耗时。所以通过空间划分的方法将其加速,本文中采用四叉树的方式,从实现思想和代码层面对效率进行分析。 思想 在空间划分算法…

【视频讲解】数据挖掘实战:Python金融贷款模型分类潜在贷款客户

全文链接:https://tecdat.cn/?p=37521 原文出处:拓端数据部落公众号 分析师:Hengtao Fan 模型的存在依托于这样一个事实:基于概率的决策乃是最优之选。将概率转化为评分,能够便于对齐风险。而评分则是通过统计的方法来识别潜在客户,进而判断客户是否合乎心意。这里的 “…

源代码管理器tfs转git并保留历史提交记录

1、到GitHub https://github.com/git-tfs/git-tfs/releases 下载最新版本的GitTfs工具 2、下载的压缩包解压,并将压缩包路径添加到系统的环境变量 3、执行 git-tfs -help 有输出就可以了,程序就可以使用了 4、新建一个目录,用户拉取tfs代码并生成tfs提交记录 语法:git-tf…