APP开发实战56-层间通信

15.3层间通信

15.3.1通信方式

层间通信主要有两种方式:

(1)   消息

优点:层间的耦合性比较小,而且一个消息可以有多个接收方,如广播消息。

缺点:如果系统中的消息比较多,可能处理速度比较慢,或消息队列满了,接收方无法接收到消息。还有一种情况是A发消息给B的,但可能先被C接收了,B也无法接收到消息。

(2)   回调函数

优点:处理速度比较快。

缺点:层间的耦合性比较大。

15.3.2交互模式

层间通信交互模式:

(1)同步调用

A向B发出请求后,一直等收到B的反馈后,再继续执行。

(2)异步调用

A向B发出请求后,不等待B的反馈,就继续执行后续代码。

MVP架构的运行示例:

UI层的Activity在启动之后实例化相应的Presenter,App的控制权后移,由UI转移到Presenter,两者之间的通信通过BroadCast、Handler或者接口完成,只传递事件和结果。

举个简单的例子,UI层通知逻辑层(Presenter)用户点击了一个Button,逻辑层(Presenter)自己决定应该用什么行为进行响应,该找哪个模型(Model)去做这件事,最后逻辑层(Presenter)将完成的结果更新到UI层。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容