.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
超级会员免费看
订阅专栏 解锁全文
149

被折叠的 条评论
为什么被折叠?



