我是否应该有一个 POJO 类来表示从会议室表返回的所有可能列?



这是我在 Kotlin 中表示文件的数据类。只要列信息匹配,Room 就可以通过构造您在返回类型中指定的 POJO 来返回列。根据用例,例如将模型显示为视图或存储它,我需要不同的列。我应该为每种情况创建 POJO 还是使用以下情况,因为我可以有空字段?

我关心的主要是内存,因为空值仍然会创建占用空间的指针。维护不同的 POJO 并更新它们很麻烦 - 需要转换器和工厂。但下面的模型也可能变得更大。

data class Photo(
val id: Long,
val name: String?,
val isFavourite: Boolean?,
val isPrivate: Boolean?,
val fileType: String?,
val dateTaken: Long?,
val height: Int?,
val width: Int?,
val location: String?)

当你开发一个模型时,你应该遵循SOLID原则。根据这一点,您应该根据以下答案构建模型:

  • 是否所有照片都有文件类型、ID、高度和宽度:可能是的 - 这意味着此字段应属于照片。
  • 所有照片都有拍摄日期,位置,是私人等 - 如果没有,您可以使用关联=创建POJO如照片信息。从这个角度来看,您可以创建按对等分组的 POJO。

正如其他人在评论中指出的那样,您不必担心空间,除非它是应用程序中的瓶颈。我的意思是,如果你有很多物体,而你的空间很短。或者您将来可能会遇到此问题。在大多数情况下,答案是否定的。

最新更新