我是否需要为我的应用程序和其他响应创建不同的模型?

时间:2017-04-09 12:00:12

标签: android data-structures models retrofit2

我正在使用改装2来从网络API中获取数据。现在我有一个如下结构:

-app
|-model
  |-User.java
|-network
  |-model
    |-ApiUser.java
  |-service
|-presenter
|-view

改装将响应转换为ApiUser对象。我创建了一个映射器来将ApiUser映射到User对象。我以为我应该为我的应用程序使用单独的模型。我可以使用改装返回给我的相同模型,但如果我想使用其他服务或数据源该怎么办?然后我会重构我的所有申请。通常,网络下的模型与应用程序的模型具有相同的结构。同样的问题可以应用于db模型和应用程序模型。

所以我想知道你的应用程序结构的最佳实践是什么。

1 个答案:

答案 0 :(得分:0)

有很多练习:

  • 您可以制作一个通用的响应模型来处理每次都会出现的所有常见响应。
  • 然后,您可以制作单独的响应模型,这些模型将具有不同的定义并在此处扩展公共基本模型。
  • 另外需要注意的是,Retrofit 2会根据响应代码为您提供自己的响应成功状态,因此您无需在API中保持成功状态,状态代码就可以解决问题。