INotifyPropertyChanged 在 MVVM 中应该在哪里实现:ViewModel 还是 Model?
开发 MVVM 应用时,会出现 ViewModel 还是 Model 的问题应实现 INotifyPropertyChanged 接口。虽然许多示例都显示模型实现此接口,但 Josh Smith 的 CommandSink 示例采用了不同的方法,让 ViewModel 实现它。
模型 INotifyPropertyChanged 实现的基本原理
一些争论模型不应实现 INotifyPropertyChanged,因为它不是特定于 UI 的。然而,这个论点忽略了这样一个事实:该界面仅通知更改,而不考虑 UI 的参与。因此,它适用于其他用例,例如触发非 UI 逻辑。
ViewModel INotifyPropertyChanged 实现的基本原理
其他支持 ViewModel 实现 INotifyPropertyChanged,因为它简化数据绑定。它消除了模型上复杂的事件处理程序或将属性更改从 ViewModel 传播到模型的需要。
有标准方法吗?
尽管有这些争论,这个问题没有明确的答案。 MVVM 允许实现灵活性。做出决定时请考虑以下因素:
结论
最终,决定取决于您的项目的具体要求。权衡每种方法的优缺点以确定最合适的解决方案。避免教条并探索不同的实现,以找到最适合您的应用程序的实现。
以上是ViewModel 或 Model:INotifyPropertyChanged 应该位于 MVVM 中的什么位置?的详细内容。更多信息请关注PHP中文网其他相关文章!