Android事件驱动编程(一)

(三篇系列文章之第一篇)

尽管在Android的开发中包含了一些事件驱动的特点,但是距离一个纯事件驱动的框架还差很多。这是好是坏?要看情况,因为对于软件开发中的每一个问题来说这都很困难。 首先,我们要确立事件驱动开发的含义。它是一个编程规范,依据触发的事件、动作决定程序执行流程(例如用户交互,来自其他线程的交互等等)。依据这个规则,我们都可以想到点击监听或者Activity生命周期中在App中可以触发行为事件。为什么我说这不是纯事件驱动的系统?默认情况下,每一个事件都被限制在一个特殊的控制器内,超出将很难被执行(例如,点击事件只能被定义在一个View中)。

等等,你是在说一个新的编程规范。采纳新的系统或者方法论通常会需要一笔消费,这会带来哪些优势?我说这是肯定的,为了展示它的优势我将要展示一些传统Android开发中的局限性。

Activities可以和Fragments通信,Fragments也可以和其他的Fragments和Services发送消息。他们之间有较高的耦合度,修改的代价会很高昂。这会导致在不同层之间频繁的引用模板代码,需要回调的接口实现方法…你可能知道

origin post