数据驱动的编程/事件驱动编程
问题描述:
随着时间的推移,我一直在为我所有的Windows应用程序使用事件驱动编程。即处理选择的索引改变/文本改变等。事件。但最近我一直在使用INotifyPropertyChanged接口和ObservableCollection类来处理数据更改。
随着涉及的应用程序/属性的增长,您是否会发现长期使用此方法可能面临的任何可能的问题?数据驱动的编程/事件驱动编程
答
数据驱动和事件驱动范例不一定是相互排斥的。即使在使用MVVM风格模式时,仍然存在一个由用户驱动的UI,因此您必须考虑事件。但是使用诸如MVC和现在的MVVM概念这样的想法,你将很多逻辑从UI中分离出来,这应该会导致更好的可维护性,可测试性等。随着应用程序的增长而不是更多,更好/更大的解耦将导致更少的问题。所以,国际海事组织,你在正确的轨道上。
Requisite Wikipedia article.这是一个有趣的阅读,虽然你不会看到INotify ...和ObservableColl ...提到,因为这些都是技术特定的。还有一个有趣的批评部分,你可能想看看。但是不要让这一部分超过其他考虑因素。
答
它们是一样的东西,除了源和方向不同。
正如你所描述的那样:
- 事件驱动可以让你基于用户交互更新数据
- 数据驱动的,您可以根据数据变化更新用户
请考虑INotifyPropertyChanged强制实施PropertyChanged事件。他们是一样的,并且可以一起工作。
同一枚硬币的两面。 – WernerCD 2010-10-08 20:13:23