个人总结:路由驱动与事件驱动

路由驱动:也称数据驱动,如MVVM就是路由驱动

事件驱动:比如MVC、MVP就是事件驱动

区别

1.mvp,mvc都是传统的事件驱动,你点个按钮,是不是要触发事件,这个就是事件驱动;

2.但是数据驱动不一样,比如你用wpf,前面UI层控件绑定的是属性,后面代码逻辑处理的是数据值得改变,只要值变了,那个UI表现就跟着变了

标准的WPF中是没有我们之前的事件,都叫路由事件,就是一层一层传递数据,以数据为中心,这样的好处就是减少了UI层与后面代码的耦合性

3.以前我们在一个事件里写实现功能,都要考虑UI层控件的行为,隐藏不隐藏等等,要有处理UI的逻辑,现在不用考虑这个,本身UI层和后面逻辑都是分开的,减少交互,降低耦合,提高内聚。

4.事件驱动和路由驱动可以说一个是被动的,一个是主动的。事件驱动,必须有个sender,也就是引起事件的触发者;路由事件是被动的,只要数据发生改变,就一层一层向上抛,直到抛给需要的地方为止,不受sender控制。

posted @ 2014-04-23 17:25  CocoWang  阅读(465)  评论(0编辑  收藏  举报