当前位置: 首页 > news >正文

用自己电脑做网站的空间/东莞做网站优化

用自己电脑做网站的空间,东莞做网站优化,网站建设课程感想,梅州建站方法Event Aggregation(事件聚集) Prism类库提供了事件机制能让应用程序中的组件相互通信。这种机制建立在事件聚合(event aggregate)服务上,允许发布者和订阅者通过事件通信,不许要彼此直接引 用。 EventAggre…

Event Aggregation(事件聚集)

 
Prism类库提供了事件机制能让应用程序中的组件相互通信。这种机制建立在事件聚合(event aggregate)服务上,允许发布者和订阅者通过事件通信,不许要彼此直接引
用。
EventAggregator提供了多点传送发布/订阅功能。这意味着可能有可以触发同一事件多个发布者和可以监听同一事件的订阅者。考虑使用EventAggregator 来发布一个事
件,贯穿多个模块和发送消息在业务逻辑代码间,像控制器和展示。
在Stock Trader RI,关于这个的一个例子就是,当Process Order 按钮别点击而且订单被成功处理,如痴同时,其他模块需要知道订单被成功处理,以便它们能更新它们的
视图。
Prism类库创建的事件是类型事件。这意味着你能在运行应用程序之前通过编译时(compile-time)类型的优点探测是否错误,在Prism列哭中,EventAggregator允许订阅者
或发布者设置一种特殊的EventBase.事件聚集允许多个发布者和多个订阅者。正如下面的插图。
注意:
关于.NET Framework 事件
使用.NET Framework事件是罪简单和直观的方式用于非松散耦合需求的组件。.NET Framework 事件实现了发布-订阅模式,但是是对一个对象订阅,你需要直接引用那个对象,
这个在复杂的应用程序中,通常属于另一模块。后果是一种紧耦合设计。因此,.NET Framework事件用于模块内的通信替代模块间的通信。如果你使用.NET Framework 事件,
你不得不非常小心内存泄露,特别是如果你有一个非静态的或者短暂的组件订阅了一静态长久的事件。如果你没有取消订阅的订阅者,那将被保存有效通过订阅者,而且阻止前者
被垃圾回收。

IEventAggregator

 EventAggregator类被作为服务在容器里且可以被获取通过IEventAggregator接口,事件聚合器复杂设置或构建事件来保持一个事件集合在系统中。
public interface IEventAggregator
{
TEventType GetEvent
<TEventType>() where TEventType : EventBase;
}
EventAggregator构造事件在它第一次访问的时候,如果它没有构造事件。这个解除了发布者和订阅者需要决定是否事件是否有效。

CompositePressentationEvent

真正起作用关联发布者和订阅者是通过CompositePressentationEvent 类,在Prism类库中,它是唯一实现EventBase类的。这个类维护着

订阅者列表和分配到这些订阅者的事件句柄。

CompositePressentationEvent类是一个泛型类,他需要payload类型被定义为泛型类型,这能帮助发布者和订阅者在编译时以一种正确的方

法用来成功的事件相连。如下代码显示了CompositePresstationEvent类部分定义。

public class CompositePresentationEvent<TPayload> : EventBase
{
...
public SubscriptionToken Subscribe(Action<TPayload> action);
public SubscriptionToken Subscribe(Action<TPayload> action, ThreadOption threadOption);
public SubscriptionToken Subscribe(Action<TPayload> action, bool keepSubscriberReferenceAlive)
public virtual SubscriptionToken Subscribe(Action<TPayload> action, ThreadOption threadOption, bool keepSubscriberReferenceAlive);
public virtual SubscriptionToken Subscribe(Action<TPayload> action, ThreadOption threadOption, bool keepSubscriberReferenceAlive, Predicate<TPayload> filter);
public virtual void Publish(TPayload payload);
public virtual void Unsubscribe(Action<TPayload> subscriber);
public virtual bool Contains(Action<TPayload> subscriber)
...
}

创建事件和发布事件

下面的部分描述了怎样通过使用IEventAggregator接口创建、发布、订阅CompositePressentationEvent

创建一个事件

发布一个事件

订阅多个事件

 

 

转载于:https://www.cnblogs.com/Joetao/articles/2099056.html

http://www.jmfq.cn/news/4987153.html

相关文章:

  • 福建省建设人才与科技发展中心网站首页/百度如何推广产品
  • 手机做网站视频/单页网站seo如何优化
  • 河北沧州做网站的电话/百度统计收费吗
  • 网站建设及维护涉及哪些内容/申泽seo
  • 商务网站创建流程是什么/游戏优化大师官方下载
  • 江苏网站制作/最新国际新闻10条
  • 小米路由可以做网站吗/2345网址导航电脑版官网
  • 天长做网站公司/软文大全800字
  • 加强政府网站的建设管理/seo长尾快速排名
  • 摄影后期教程网站/三明网站seo
  • 做感恩网站的图片素材/太原百度推广开户
  • 广州网站建设中心/免费网站seo优化
  • 怎样做自己网站/什么是seo?
  • 怎么用模板建站/佛山seo按效果付费
  • 申请网站平台怎么做/谷歌浏览器网页版入口在哪里
  • 天津百度推广排名优化/专业seo网络推广
  • 网站建设山东/网络运营商
  • 如何学做网站优化/seo技术蜘蛛屯
  • 用淘宝做公司网站/搜索引擎优化的各种方法
  • 建仿网站/大连中小企业网络营销
  • 网站是否被k/腾讯企点下载
  • 小米网站建设案例/深圳专门做seo的公司
  • 做外贸怎么看外国网站/合理使用说明
  • 企业电子商务网站建设规划/雅诗兰黛网络营销策划书
  • 佛山网站建设专业公司/建立免费网站
  • 企业做网站多少钱/友情链接平台站长资源
  • 山东网站建设运行工资/seo服务如何收费
  • 哪个网站可以做批发玻璃胶/高质量外链平台
  • 怎么创建平台卖自己的产品/深圳seo排名哪家好
  • java社交网站开发/重庆网站排名优化教程