10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

WPF 4.5 中的弱事件

  • 2012-02-19
  • 本文字数:493 字

    阅读完需:约 2 分钟

弱事件对于 WPF 和 Silverlight 中使用的样式数据绑定而言,一直是一门重要的内存管理技术。前者 WPF 甚至提供了一个 WeakEventManager 基类以供使用。不幸的是,弱事件模式对于事件源和事件处理器两者都相当麻烦。开发人员不仅必须要为每一个事件类型创建一个自定义的WeakEventManager 子类,还得为事件处理器实现匹配的监听器接口。当你需要监控几个对象上的相同事件,并且不得不为每一个对象使用不同的事件处理器时,结果会特别令人沮丧。

.NET 4.5 让这件事情变得简单了多。它为WPF 开发人员提供了泛型版本的WeakEventManager 。使用该泛型版本不仅不需要实现事件的具体子类,还免去了使用监听器接口的必要。库的内部实际上使用了反射来连接事件,因此它的性能和其他替代方案相比并不是非常好。

这种新的方法也不是毫无限制。和原有的类一样,新的弱事件管理器在Silverlight 中并不可用,这反过来使得代码共享变得更加困难。另外,它还是继续约束在调度线程(dispatcher thread)中,这使得它无法被用在非WPF 的应用程序中。最后,事件引用是根据名称而不是类型。

InfoQ 邀请您在评论中发表自己最喜爱的弱事件实现。

查看英文原文: Weak Events in WPF 4.5

2012-02-19 02:171738
用户头像

发布了 125 篇内容, 共 42.6 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

研发效能治理:复杂性

码猿外

研发效能 工程效能

统一门户的快速构建--基于小程序技术的一种可能

FinFish

统一门户 小程序容器 小程序化 小程序技术

面对本地缓存和分布式缓存,我们该如何选择?

2023年西藏自治区等级保护测评机构名单看这里!

行云管家

等保 等级保护 西藏

学习java没规划?2023最新路线图,大堆资源秒变大神

Java你猿哥

Java 数据库 前端 后端 java基础

看火山引擎DataLeap如何做好电商治理(二):案例分析与解决方案

字节跳动数据平台

短视频 DataLeap 电商治理 达人治理 商品安全

小微企业是什么意思?如何认定?

行云管家

信息安全 小微企业 小微企业认定

主网NFT铸造交易商城dapp系统开发搭建

开发v-hkkf5566

低代码为什么需要专业代码

牛刀专业低代码

LinkFlow发布会实录|食品饮料品牌洞察应用实践分享

游读分享

走进南京邮电大学!龙蜥导师面对面分享如何通过开源经历获得实习/工作机会?| 开源之夏 2023

OpenAnolis小助手

操作系统 实习 龙蜥社区 开源之夏 南京邮电大学

QUIC在京东直播的应用与实践 | 京东云技术团队

京东科技开发者

直播 直播技术 QUIC 企业号 5 月 PK 榜

前方高能!融云《社交泛娱乐出海作战地图》来袭,前 100 位免费领

融云 RongCloud

图片 社交 融云 泛娱乐 出海

真香! GitHub大牛呕心沥血整理的5000页Java学习手册

Java你猿哥

Java MySQL redis Spring Boot java基础

Istio权威指南,华为云云原生团队倾情巨献!

博文视点Broadview

SaaS化开源项目之HouseKeeper云上部署实践

华为云开发者联盟

开源 微服务 华为云 华为云开发者联盟 企业号 5 月 PK 榜

关于并发编程与线程安全的思考与实践 | 京东云技术团队

京东科技开发者

并发编程 线程安全 java 并发 企业号 5 月 PK 榜

鬼知道我经历什么,从Java外包到了阿里P7,没想到我也有今天

Java你猿哥

Java Spring Boot JVM java面试 Java八股文

mosn基于延迟负载均衡算法 -- 走得更快,期待走得更稳

Java你猿哥

Java 负载均衡 ssm 架构师

如何选择合适的共享电动车厂商

共享电单车厂家

共享电动车厂家 共享电单车厂商 景区共享电单车 校园共享电动车 共享电动车生产

华为云数据库首席专家谈分布式数据应用挑战和发展建议

华为云开发者联盟

数据库 华为云 华为云开发者联盟 企业号 5 月 PK 榜

技术同学如何提高职场话语权

老张

话语权 职场影响力

面对职业焦虑,我们能做些什么?| 社区征文

三掌柜

三周年征文

项目终于用上了 DDD 领域驱动,太强了!

Java 架构 DDD

精品!阿里P8爆款《SpringBoot+vue全栈开发实战项目》笔记太香了

Java 架构 Spring Boot Vue 前后端分离

一站式统一返回值封装、异常处理、异常错误码解决方案—最强的Sping Boot接口优雅响应处理器 | 京东云技术团队

京东科技开发者

Spring Boot 处理器 企业号 5 月 PK 榜 Graceful Response web接口开发

假期充电,用阿里云 Serverless K8s + AIGC 搭建私人代码助理

阿里巴巴云原生

阿里云 Serverless Kubernetes 云原生 AIGC

深入理解 MySQL 索引底层数据结构

Java你猿哥

Java MySQL 算法 ssm sql

KubeEdge在边缘计算领域的安全防护及洞察

华为云开发者联盟

开源 边缘计算 华为云 华为云开发者联盟 企业号 5 月 PK 榜

HTAP for MySQL 在腾讯云数据库的演进

NineData

MySQL 腾讯云 NineData HTAP for MySQL 2023云数据库技术沙龙

行走的Offer收割机!首次公布Java10W字面经,Github访问量破百万

Java java面试 Java八股文 Java面试题 Java面试八股文

WPF 4.5中的弱事件_.NET_Jonathan Allen_InfoQ精选文章