APP开发实战

APP开发实战56-层间通信

2016-06-20  本文已影响63人  xjbclz

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层。

上一篇 下一篇

猜你喜欢

热点阅读