使用android中的 MVVM 体系结构,解决跨领域问题的最佳方法是什么。
答案 0 :(得分:0)
第一个很好地使用服务和广播接收器。 对于错误处理,我的建议是使用rxjava。
第三个简单 使用全局事件总线可以实现不同的方法。
答案 1 :(得分:0)
我认为MVVM本身不一定直接代表您的跨领域问题。通常,您的ViewModel处理您的业务逻辑,也称为core concerns。但是,您的跨领域关注点分散在不同的层(模型,视图,视图模型)中。
例如,假设您对应用程序有一个日志记录方面(一个跨领域的关注点)。然后将此记录器作为依赖项注入到ViewModel中,以记录事件。另一个示例是将HTTP客户端表示的网络功能注入到模型层中,以便您可以进行REST API调用。这些横切关注点或依赖项的范围很广,因为它们被无所不在地使用了。
使用Dagger在应用程序范围内创建这些依赖关系可能对您有所帮助。
TLDR: MVVM可以帮助分离关注点,但是您应该通过依赖项注入将具有交叉关注点/依赖项的类适当地组成。