【发布时间】:2015-02-15 23:51:46
【问题描述】:
问题是,例如,有时Model 应该通知ViewModel 以显示消息框。有时模型应该改变ViewModel 的状态。进行此类通知的正确方法是什么?
有什么有用的模式吗?
【问题讨论】:
-
事件很笨拙。观察者呢?
-
.Net 事件是否已经实现了该模式?
标签: c# wpf mvvm architecture
问题是,例如,有时Model 应该通知ViewModel 以显示消息框。有时模型应该改变ViewModel 的状态。进行此类通知的正确方法是什么?
有什么有用的模式吗?
【问题讨论】:
标签: c# wpf mvvm architecture
没有唯一的正确答案,这是一个设计决定。
可能的替代方案:
IObservable<T> 接口或公开IObservable<T> 成员。顺便说一句,Observable.FromEventPattern Method 允许将 .NET 事件转换为可观察序列。interface INumberHandler
{
void Handle(int number);
}
class NumberViewModel : INumberHandler
{
}
class NumberService
{
public void Calculate(INumberHandler handler)
{
handler.Handle(9);
}
}
【讨论】: