做项目的过程中,遇到了service与APP的通信交互方面的问题,项目开发的侧重点在service层。在做系统设计的时候,针对用户层(APP)和服务层(service)的通信,有两种意见:
1、使用事件进行触发,优势(一开始以为是优势)在于可简单实现service和APP的通信一对多的问题(可能还有其他优势leader没有说),劣势在于一个APP的每种状态都需要一个事件;
2、使用Callback函数和枚举。
经过讨论,认为使用Callback的方法更加优秀,尤其是在做系统设计的时候,流程可以更加简明。
以下是关于回调函数的个人见解:
1、用户层调用函数A(参数1 enum_value,参数2 Callback),A会调用服务层的接口,然后在服务层对enum_value进行操作,最后使用回调函数向用户层返回结果。
2、Callback函数是写在模块1中,但却是在模块2的线程里运行,所以Callback里不能定义timer之类的内容。
以上个人浅见,欢迎各路大神批评指点。