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

时间:2018-07-11 15:49:22

标签: android mvvm login cross-cutting-concerns

使用android中的 MVVM 体系结构,解决跨领域问题的最佳方法是什么。


例如

  • 长时间处于后台,即使在屏幕唤醒时也需要显示登录屏幕。
  • 处理服务器中的错误。
  • 在创建活动之前检查是否已通过身份验证。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我认为MVVM本身不一定直接代表您的跨领域问题。通常,您的ViewModel处理您的业务逻辑,也称为core concerns。但是,您的跨领域关注点分散在不同的层(模型,视图,视图模型)中。

例如,假设您对应用程序有一个日志记录方面(一个跨领域的关注点)。然后将此记录器作为依赖项注入到ViewModel中,以记录事件。另一个示例是将HTTP客户端表示的网络功能注入到模型层中,以便您可以进行REST API调用。这些横切关注点或依赖项的范围很广,因为它们被无所不在地使用了。

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

TLDR: MVVM可以帮助分离关注点,但是您应该通过依赖项注入将具有交叉关注点/依赖项的类适当地组成。