根据观察者模式(或监听器模式),让我明白的认识到事件响应处理是发生在观察者与被观察者之间的游戏。
这样的游戏在GUI的开发中最为常见,也应用最多。如果GUI仅仅只是堆叠图形组件的话,那么GUI开发是我认为最轻松的活(用可视化的工具,一切都是那么轻松惬意)。但事实总是与理想有很大差距的,就好像我和一美女正享受着马尔代夫怡人的海风时,此时她野兽般的男友出现在你面前,接下来一切变得复杂而无法收场?在享受GUI开发的乐趣时,我想我最不愿见到的也就是事件响应处理——这个野蛮的男人。因为,它的到来只会让我精心设计的类之间,充满了复杂的感情纠葛,而一旦它们中有谁变化,则世界将会崩溃。这崩溃的原因主要有两个:
由上述两个原因,不难总结出相关的事件处理类型有四种:
这样的游戏在GUI的开发中最为常见,也应用最多。如果GUI仅仅只是堆叠图形组件的话,那么GUI开发是我认为最轻松的活(用可视化的工具,一切都是那么轻松惬意)。但事实总是与理想有很大差距的,就好像我和一美女正享受着马尔代夫怡人的海风时,此时她野兽般的男友出现在你面前,接下来一切变得复杂而无法收场?在享受GUI开发的乐趣时,我想我最不愿见到的也就是事件响应处理——这个野蛮的男人。因为,它的到来只会让我精心设计的类之间,充满了复杂的感情纠葛,而一旦它们中有谁变化,则世界将会崩溃。这崩溃的原因主要有两个:
- GUI对象间的耦合;
- GUI对象和领域对象(业务对象)的耦合。
由上述两个原因,不难总结出相关的事件处理类型有四种:
- GUI对象自身的事件响应处理,简称自我处理;
- GUI对象对象间的事件响应处理,简称交互处理;
- GUI对象的变化事件触发领域对象的响应,简称主动处理;
- 领域对象的变化事件触发GUI对象的响应,简称被动处理。