是否也应该使用数据传输对象 (DTO) 来绑定 UI?

Should Data Transfer Objects (DTOs) be used to bind UI too?

我的问题很简单:

我有一个大型数据传输对象,例如:

data class Terminal(
  @Expose
  @SerializedName("inspector_code")
  var inspectorCode:String,

  @Expose
  @SerializedName("inspector_id")
  var inspectorId:Long
  [x50]
)

大部分用于业务逻辑,用于http请求,交易验证,

其中很少用于UI。

是否也应该在表示层中使用这种类型的 DTO?或者我可以有一个不同的并使用转换器来构建一个 演示对象 ,这甚至存在于 mvvm 架构中吗?

应将 DTO 转换为本地模型 class。这确实消除了端点与 UI 的耦合,并允许更灵活的架构。

翻译 DTO 可以在存储库之类的东西中完成,而存储库又使用 returns DTO 的数据源。

由于问题看起来是针对 Android (Android-mvvm),您也可以在这里查看此指南 https://developer.android.com/topic/architecture