【问题标题】:Android Architecture QuestionsAndroid 架构问题
【发布时间】:2018-05-26 08:35:06
【问题描述】:

我一直在阅读有关 android 项目的架构的信息。我发现了一些东西,但我想我误解了一些概念,甚至根本不理解。

我的一个问题是关于处理 api 对象,如果我有一个本地数据库,我应该使用来自 api 的相同对象存储在本地数据库中吗?

我也在寻找关于为什么使用 MVVM 或 MVP 的解释,实际上它们看起来像不同的东西,我发现 MVP 是一种更关心处理 UI 职责的模式,我认为 MVVM 是面向处理 UI 之间的通信和数据库。 所以我误解了这些概念或者它是有道理的

最后但并非最不重要的主题是关于依赖注入,我已经阅读了这个概念并且想到了这个问题,如果我能处理这种模式,为什么我应该使用任何框架作为匕首来处理这个问题我一个人,一旦它不复杂?

【问题讨论】:

    标签: android design-patterns mvvm architecture mvp


    【解决方案1】:

    我应该使用 api 中的同一个对象来存储在本地数据库中吗?

    这真的取决于你的 API 对象有多好。您应该以逻辑方式将本地数据库对象基于它的真正含义,如果您的端点做得好,它可能是相同的。架构中的重要部分是将逻辑部分与 I/O 部分(UI、数据库、API)隔离,因此如果您想重新设计 UI,更改您使用的 Web 服务不会太痛苦。

    所以我误解了这些概念还是有道理?

    我对 MVVM 不太熟悉,所以我无法真正回答这个问题。但对我来说,重要的是不要“按部就班”地遵循一种或另一种模式,而是根据你喜欢的每一种模式来调整你的架构。我目前尝试使用Clean Architecture 这样做。您可以查看 Bob 大叔在本文中谈到的关于使代码更简洁、更易于维护的所有概念。

    我为什么要使用任何框架作为匕首来处理这个,如果我可以自己处理这个模式,一旦它不复杂?

    如果您不熟悉匕首,则不必使用它。但是,如果您的项目开始增长,并且您开始成为一个由 2、3、5 人组成的团队......在开发它,那么作为 dagger 的框架可以帮助您保持一个关于如何进行依赖注入然后编写代码的通用标准更连贯。 Dagger 还提供了一些工具作为范围,如果您熟悉它,可以为您节省一些时间。

    【讨论】:

      猜你喜欢
      • 2021-08-12
      • 1970-01-01
      • 2011-02-14
      • 2012-11-25
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多