-1

在android中使用MVVM架构,解决横切关注点的最佳方法是什么。


例如

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

2 回答 2

0

我认为 MVVM 本身不一定代表您的横切关注点。通常,您的 ViewModel 处理您的业务逻辑,也就是核心问题。但是,您的横切关注点会分散在不同的层(模型、视图、视图模型)中。

例如,假设您的应用程序具有日志记录方面(横切关注点)。然后,此记录器将作为依赖项注入到您的 ViewModel 中,以记录事件。或者另一个例子是你的由 HTTP 客户端表示的网络功能被注入到你的模型层中,这样你就可以进行 REST API 调用。这些横切关注点或依赖关系可以限定为应用程序的生命周期,因为它们无处不在。

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

TLDR: MVVM 有助于分离关注点,但您应该使用依赖注入适当地用您的横切关注点/依赖项组合您的类。

于 2018-07-13T04:13:09.023 回答
0

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

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

于 2018-07-11T16:10:18.450 回答