数据驱动的编程/事件驱动编程

问题描述:

随着时间的推移,我一直在为我所有的Windows应用程序使用事件驱动编程。即处理选择的索引改变/文本改变等。事件。但最近我一直在使用INotifyPropertyChanged接口和ObservableCollection类来处理数据更改。
随着涉及的应用程序/属性的增长,您是否会发现长期使用此方法可能面临的任何可能的问题?数据驱动的编程/事件驱动编程

数据驱动和事件驱动范例不一定是相互排斥的。即使在使用MVVM风格模式时,仍然存在一个由用户驱动的UI,因此您必须考虑事件。但是使用诸如MVC和现在的MVVM概念这样的想法,你将很多逻辑从UI中分离出来,这应该会导致更好的可维护性,可测试性等。随着应用程序的增长而不是更多,更好/更大的解耦将导致更少的问题。所以,国际海事组织,你在正确的轨道上。

Requisite Wikipedia article.这是一个有趣的阅读,虽然你不会看到INotify ...和ObservableColl ...提到,因为这些都是技术特定的。还有一个有趣的批评部分,你可能想看看。但是不要让这一部分超过其他考虑因素。

它们是一样的东西,除了源和方向不同。

正如你所描述的那样:

  • 事件驱动可以让你基于用户交互更新数据
  • 数据驱动的,您可以根据数据变化更新用户

请考虑INotifyPropertyChanged强制实施PropertyChanged事件。他们是一样的,并且可以一起工作。

+0

同一枚硬币的两面。 – WernerCD 2010-10-08 20:13:23