我一直在阅读关于android项目的架构。我发现了一些东西,但我想我误解了一些概念,甚至根本没有理解。
我的一个问题是关于处理api对象,如果我有本地数据库,我应该使用api中的相同对象存储在本地数据库中吗?
我也在寻找有关为何使用MVVM或MVP的解释,实际上它们看起来像是不同的东西,我已经发现MVP是一种更关心处理UI职责的模式,MVVM我认为是面向处理UI之间的通信和数据库。 所以我误解了概念或有意义?
最后但并非最不重要的主题是关于依赖注入,我已经阅读了这个概念,我想到了这个问题,为什么我应该使用任何框架作为匕首来处理这个问题,如果我可以处理这个模式一旦它不复杂,我自己,
答案 0 :(得分:2)
我应该使用api中的相同对象存储在本地数据库中吗?
它实际上取决于您的API对象有多好。您应该将本地数据库对象建立在逻辑方式的真正意义上,如果您的端点做得好,它可能是相同的。您的架构中的重要部分是将您的逻辑部件与I / O部件(UI,数据库,API)隔离开,因此如果您想重新设计UI,更改您使用它的Web服务并不会太痛苦。
所以我误解了这些概念或有意义吗?
我对MVVM并不熟悉,所以我无法真正回答这个问题。但对我来说,重要的是不要遵循这本书"一种模式或另一种模式,而是根据您喜欢的方式调整您的体系结构。我目前正尝试使用Clean Architecture。你可以看一下Bob叔叔在本文中谈到的关于使代码更清晰,更易于维护的所有概念。
为什么我应该使用任何框架作为匕首来处理这个问题,如果我能自己处理这种模式,一旦它不复杂?
如果您不熟悉匕首,则不必使用匕首。但是如果你的项目开始增长并且你开始成为一个2,3,5的团队......那么,作为匕首的框架可以帮助你保持关于如何进行依赖注入然后制作代码的通用标准更连贯。 Dagger还提供了一些工具作为范围,如果您熟悉它,可以节省一些时间。