“痛苦”的故事以及我们如何解决它

我将介绍自己,Dejavoo Systems的Malyugin Platon Android主管。这个故事是关于我们为之奋斗了一年的“痛苦”以及我们架构的演变。主要配置文件是零售商和饭店的现金终端,因此很多与该行业的细节有关。



无论如何,更改应用程序的体系结构不仅会使应用程序复杂化,而且会增加文档量并需要支持。因此,值得考虑是否现在需要这样做?您是否有足够的经验和阻止任务的数量?



为什么现在?由于它可以正常工作,您可能会继续遭受痛苦并尽可能少地触摸此屏幕,为什么要中断现在的工作?一切都很简单,已经积累了大量阻塞任务,为此,有必要重新构建当前的订单结构,以形成一个更加复杂但灵活的订单。您不能没有改动。



问题描述



我们使用一个活动进行订购,该活动同时支持平板电脑和手机版本。对于我们来说,使用对话框更容易(我们的对话框是“活动”),并且此屏幕上有很多对话框,我们不想重复它们。



平板电脑版本如下所示:



平板电脑版



我们使用相同的元素,但使用不同的导航器来收集手机的版本。



手机版本



我将描述屏幕组成:



  • 项目-片段
  • 部门-片段
  • 订单项和金额-片段
  • 订单参数是一个单独的视图


50, , , OrderPresenter .





当前架构



, Use case, . . , , , .



, , , , , . , ( Use case).



:



  • ,
  • ,
  • , ,
  • ,
  • , , ""
  • ,




" " — , 2- . :



  • "" ( )
  • ,
  • ,


, , , , .



, , . :







  • ( 2 ) ,
  • UI
  • Rx




新架构



, "" , , ( ), . .



现在,如果用户将很快在屏幕上“锤击”。那么我们将能够处理所有操作,尽管会稍有延迟(尽管对于眼睛来说,这比屏幕的“冻结”要小得多)



存储库的UML简图:



仓库的UML简图



结果



我们可能已经发明了自行车,但是我认为该体系结构简化了工作,并允许您支持更复杂的情况。我们将继续努力。




All Articles