【问题标题】:Implementing MVVM from scratch without using INotifyPropertyChange?在不使用 INotifyPropertyChange 的情况下从头开始实现 MVVM?
【发布时间】:2011-04-10 14:04:28
【问题描述】:

为什么 MVVM 必须使用 INotifyPropertyChange、ICommand 等来实现,因为它看起来如此复杂 MVVM - Presentation Model in Flex vs Presentation Model in Silverlight: advantages and disadvantages? ?为什么不从头开始,把事情做得更简单呢?

【问题讨论】:

  • 为什么不扩展 DependencyObject 而忘记 INPC?

标签: wpf silverlight mvvm


【解决方案1】:

请记住,在 Flex 中,它们实现与 INotifyPropertyChanged 几乎完全相同的模式。您需要它来告诉 UI 进行更新。唯一的区别是,在 Flex 中,您将获得为您实现该模式的 [Bindable] 标签。在 Silverlight 中,您必须自己做。您可以获得实现它的帮助,例如使用“Property Weaver”,但在这两种情况下,您都有一个事件和一个看起来像这样的模式(伪代码):

var prop;
get: return prop
set: if prop == value return
     prop = value
     notify prop changed

至于命令,它与 Flex 与 Silverlight 中的命令式与声明式绑定有关。您不需要 Flex 中的命令,因为您可以简单地在上下文中调用方法。在 Silverlight 中,它是声明性的,因此您需要绑定一个对象……您不能绑定到方法,因为它们不是对象。 ICommand 给了你……但也增加了凌乱的管道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多