说到代码的可读性,有时候,我们更加看重代码之间的层次或者说模块化,耦合度等特点。
不同的业务逻辑,不同的功能,应该实现在不同的模块中,而模块与模块之间就可以通过一个消息来通信,而这种消息通讯方式,我们就可以利用Handler和HandlerThread来实现。
比如,最近做的一个浏览器的小Demo,其类图如下:
...
在不同的模块实现中, 我们可以调用registerHandler方法,将其对象的Handler注册到MessageDispatcher中,然后通过sendMessage方法,指定对应的目标,...
分类:
移动开发 时间:
2014-10-28 20:09:23
阅读次数:
386
应用程序消息有三个来源:硬件消息(鼠标键盘等外设)、PostMessage消息、SendMessage消息,都可以发送消息事件来驱动程序执行。
消息流图如下。
硬件消息响应流程如下。
①消息进入系统消息队列。
②消息分发到应用程序消息队列。
③应用程序循环获取消息。
④消息处理函数执行。
PostMessage直接进入上述步骤②,将消息放入消息队列中,然后立刻返回。
Sen...
分类:
编程语言 时间:
2014-09-09 18:29:19
阅读次数:
310
1、gen_container行为模式完成的功能
gen_container包含的功能:容器的启动和关闭,消息的同异步消息分发处理、获取容器实例个数、获取容器中正在运行的实例列表、能够让实例热拔插动态添加和删除实例、对实例进行创建、监控、销毁和退出后扫尾等管理维护工作。
2、该行为模式分两个队列,分线上和线下。其中线上存在当前容器中正在运行的实例,线下队列存放当前容器所能管理的所有实例,存放在...
分类:
其他好文 时间:
2014-09-04 00:18:37
阅读次数:
210
Cocos2d-x 3.0 屏幕触摸 消息分发机制 新手入门...
分类:
其他好文 时间:
2014-08-27 16:38:28
阅读次数:
215
外面一直在下雨,比较无聊,顺便总结了下Kivy的消息的处理过程。
总的来说,在Kivy里,处理的消息一共有四种:按键消息,鼠标消息,触屏消息,还有自定义消息。下面来看下整个消息的处理流程。
先来看张图:
先来解释下这几个类都是干嘛的:
1、EventDispatcher:看名称就知道这是一个消息分发类,在这个类中通过了以下的主要方法:
regist...
分类:
其他好文 时间:
2014-07-26 15:10:40
阅读次数:
246
基于RabbitMQ的发布者订阅者消息分发模型...
分类:
其他好文 时间:
2014-05-07 02:43:57
阅读次数:
450