写点什么

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:171546
用户头像

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

关注

评论

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

Neon 支持

Changing Lin

9月日更

Redis核心原理与实践--字符串实现原理

binecy

redis 书籍推荐 源码学习

Python开发篇——添加mysqlclient

吴脑的键客

Python MySQL

阿里技术专家亲码:满干货“Redis核心笔记”,全篇无尿点

Java~~~

Java redis 架构 面试 中间件

Prometheus relabel 透析与实战

卓丁

Prometheus relabel_config

k8s garbage collector源码分析(1)-启动分析

良凯尔

Kubernetes 源码分析 Kubernetes源码 #Kubernetes#

ShardingSphere LogicSQL 的生成探索

源码 ShardingSphere

Go- 接口-3

HelloBug

interface Go 语言

Java + opencv 实现老照片特效滤镜

张音乐

OpenCV 图像处理 9月日更 特效 老照片

微信朋友圈高性能架构

Geek_db27b5

奉若神明!阿里技术专家开源ApacheDubbo核心源码笔记

Java~~~

Java spring 架构 面试 dubbo

双非本科跨专业5面京东,8600小时后收到通知,流下喜悦泪水

Java~~~

Java 架构 面试 微服务 JVM

面试题 -- 如何设计一个线程池

秦怀杂货店

线程 线程池 并发

模块2-作业

笑看风雨情

阿里技术专家,紧跟潮流,解读spring微服务架构技术的演进

Java~~~

Java 架构 面试 微服务 Spring Cloud

🌏【架构师指南】带你彻底认识Paxos算法、Zab协议和Raft协议的原理和本质

码界西柚

ZAB raft协议 paxos协议 9月日更

Go- 接口-1

HelloBug

interface Go 语言

惊讶!阿里大佬总结的图解Java小册火了,完整版笔记开放下载

Java~~~

Java 架构 面试 微服务 JVM

极客时间【架构实战营】第二期 模块二作业

Geek_91606e

架构实战营

【架构实战营作业】模块二——朋友圈高性能架构

聆息

Go- 接口-2

HelloBug

interface Go 语言

Go- 反射

HelloBug

reflect Go 语言

万字长文说透分布式锁

多颗糖

redis zookeeper 分布式 分布式锁 etcd

架构师实战营 附一作业(按接口隔离原则优化设计无人机引导直升机攻击的类图)

代廉洁

架构实战营

阿里进阶专用:Mycat权威指南,不怕从零开始,只怕从未启程

Java~~~

Java MySQL 数据库 架构 面试

【8月书单】

姬翔

9月日更

k8s garbage collector源码分析(2)-处理逻辑分析

良凯尔

Kubernetes 源码分析 Kubernetes源码 #Kubernetes#

Django 配置夯实,再补充几个配置项,够够的了

梦想橡皮擦

9月日更

设计微博系统中”微博评论“的高性能高可用计算架构

架构0期-Bingo

香!阿里技术官甩我一份283页Java核心笔记,竟含9大核心

Java~~~

Java 架构 面试 JVM 多线程

激动!阿里技术官纯手打,1263页并发编程全系笔记,限时开源

Java~~~

Java 架构 面试 多线程 并发

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