我有一个Android应用程序中的按钮,可通过套接字调用向机器人发出命令。
根据设计,所有命令必须顺序到达。因此,我最终得到了2个服务(假设机器人有2套命令,它们的翻译方式有所不同),我将它们命名为* Controller,它们都具有PublishSubjects,这些对象又公开了Observables。
然后有一个套接字服务(控制器),它将上述两个可观察对象和一个计时器可观察对象合并(机器人也有一个恒定的命令,每n秒执行一次)。然后,它将所有命令转换为字节,并创建可调用以执行套接字连接。每个命令都是通过新的套接字连接发送的,该套接字连接将在随后立即关闭。
最后,我在ViewModel中订阅了此活动的响应(这意味着每个活动生命周期一次)。
问题是上述方法似乎不是适当的反应模式,我应该以某种方式消除对象吗?但这意味着失去顺序的命令流吗?