24、.NET 中的观察者模式与属性变更通知详解

.NET 中的观察者模式与属性变更通知详解

1. 构建观察者模式

在 .NET 中,我们可以不使用事件关键字,而是利用 .NET 自身的接口来构建观察者模式。虽然可以使用 Observable.Subscribe() 静态方法简化订阅,但 Observable 属于 Reactive Extensions 库,你可以选择是否使用。使用 .NET 自身接口构建的主要优势在于, IObservable 生成的事件流可以直接输入到各种 Rx 操作符中。例如,使用 System.Reactive ,整个示例程序可以简化为一条语句:

person
  .OfType<FallsIllEvent>()
  .Subscribe(args =>
    WriteLine($"A doctor has been called to {args.Address}"));
2. 属性观察者

在 .NET 中,最常见的观察者实现之一是在属性发生更改时获取通知。这在底层数据更改时更新 UI 等场景中非常必要。属性观察者可能会变得很复杂,下面我们将逐步介绍,从基本接口和操作开始,再到更复杂的场景。

3. 基本变更通知

在 .NET 中,变更通知的核心接口是 INotifyPropertyChanged

pub
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值