使用MVVM体系结构.解决跨领域问题的最佳方式是什么



在android中使用MVVM架构,解决交叉问题的最佳方法是什么。


例如

  • 如果需要,即使在屏幕唤醒时也会显示登录屏幕,因为它已经在后台运行了很长时间
  • 正在处理来自服务器的错误
  • 在创建活动之前,请检查是否已通过身份验证

第一次很可能使用服务和广播接收器。对于处理错误,我的建议是使用rxjava。

第三个简单使用全局事件总线,这样就可以实现不同的方法。

我认为MVVM不一定直接代表您的交叉关注点。通常,您的ViewModel处理您的业务逻辑,也就是核心关注点。但是,您会将交叉关注点分散在不同的层(Model、View、ViewModel(中。

例如,假设您的应用程序有一个日志方面(一个跨领域的问题(。然后,这个记录器将作为依赖项注入到ViewModel中,以记录事件。或者另一个例子是由HTTP客户端表示的网络功能被注入到模型层中,这样您就可以进行RESTneneneba API调用。这些跨领域的关注点或依赖关系可以在应用程序的生命周期内确定范围,因为它们被广泛使用。

使用Dagger在应用程序范围内创建这些依赖关系可能会有所帮助。

TLDR:MVVM有助于分离关注点,但您应该通过依赖项注入适当地用交叉关注点/依赖项组成类。

相关内容

  • 没有找到相关文章

最新更新