【问题标题】:Data-Driven Programming / Event-Driven Programming数据驱动编程/事件驱动编程
【发布时间】:2011-04-23 01:09:58
【问题描述】:

一直以来,我一直在为我的所有 Windows 应用程序使用事件驱动编程。即处理选定的索引更改/文本更改等事件。但最近我一直在使用INotifyPropertyChanged 接口和ObservableCollection 类来处理数据更改。
从长远来看,随着所涉及的应用程序/属性的增长,您是否发现我可能会遇到任何可能遇到的问题?

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    数据驱动和事件驱动范式不一定是相互排斥的。即使您使用 MVVM 样式的模式,仍然存在由用户驱动的 UI,因此您必须考虑事件。但是使用像 MVC 和现在的 MVVM 概念这样的想法,你可以将很多逻辑与 UI 解耦,这应该会带来更好的可维护性、可测试性等。随着应用程序的增长,更好/更大的解耦将导致更少的问题,而不是更多的问题。所以,IMO,你走在正确的轨道上。

    Requisite Wikipedia article. 这是一本有趣的书,虽然你不会看到 INotify... 和 ObservableColl... 被提及,因为它们是特定于技术的。您可能还想查看一个有趣的批评部分。但不要让这一部分超过其他考虑因素。

    【讨论】:

      【解决方案2】:

      它们是一样的,只是来源和方向不同。

      正如你所描述的那样:

      • 事件驱动允许您根据用户交互更新数据
      • 数据驱动允许您根据数据的变化更新用户

      考虑 INotifyPropertyChanged 强制执行 PropertyChanged 事件。它们是相同的,并且可以很好地协同工作。

      【讨论】:

        猜你喜欢
        • 2015-10-06
        • 1970-01-01
        • 2011-06-26
        • 2011-06-23
        • 1970-01-01
        • 2014-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多