在MVP上下文中使用Service作为Presenter是个好主意

时间:2016-10-21 08:23:05

标签: android bluetooth android-service mvp

简短说明我的问题是:在MVP架构中使用服务作为一个好主意 演示者控制实现为服务的模型?

替代问题:使用服务控制其他服务是个好主意吗?

上下文:

我正在编写一个与蓝牙传感器通信的应用程序。 该应用有一个Service  (aka BluetoothService)进行连接并管理与传感器的通信。 该应用程序有几个碎片,但只有少数与操作有关  蓝牙传感器。用户应该能够开始操作,导航到不同的操作  碎片然后观察传感器完成的操作结果。

我的目的:

我想编写一个组成链接的组件(又名BluetoothController) 介于传感器之间(在我的应用程序中由BluetoothService表示)和其余部分  该应用程序。 BluetoothController包含描述了什么类型的对象   操作必须由传感器完成(只有一个操作,串行操作,    操作的类型,...),因此BluetoothController的目的是让    操作独立于蓝牙传感器,然后能够测试应用程序     用模拟蓝牙课。我将BluetoothService视为模型     BluetoothController作为主持人,我错了吗?

为何选择服务:

  • 因为如果用户在片段之间导航,它不会死亡
  • 因为可以通过bindService
  • 通过整个应用访问它
  • 因为bindService是唯一的入口点,我想我可以控制它 一次完成一项操作
  • 因为我将Service视为活动组件,所以即使没有任何约束,它也可以继续接收数据

此服务既可以启动也可以绑定(如音乐播放器):

  • 即使没有组件绑定也能继续运行,
  • 以便于沟通

所有服务都将在申请过程中进行沟通 没有粘合剂而是 方法调用。

任何建议都会非常感谢,提前谢谢

为什么不是别的:

  • RetainedFragment(对我而言)只是容器
  • pojo presenter只是视图和模型之间的网关,如果它们应该死掉 他们没有附在视图上。

结论

我错了吗?你觉得这个架构有困难吗?还有其他Android吗? 哪些组件更适合我的目的?

任何建议都将受到高度赞赏,谢谢你的进步

0 个答案:

没有答案