从Model中调用ViewModel相关代码
Invoking ViewModel related code from Model
例如,有时 Model
应该通知 ViewModel
显示消息框。有时模型应该更改 ViewModel
的状态。进行此类通知的正确方法是什么?
有什么有用的模式吗?
没有唯一的正确答案,这是一个设计决定。
可能的选择:
- 模型可以公开事件成员。
- 模型可以实现
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);
}
}
例如,有时 Model
应该通知 ViewModel
显示消息框。有时模型应该更改 ViewModel
的状态。进行此类通知的正确方法是什么?
有什么有用的模式吗?
没有唯一的正确答案,这是一个设计决定。
可能的选择:
- 模型可以公开事件成员。
- 模型可以实现
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);
}
}