我正在一个通过 HTTP 接收一些 JSON 对象的 Android 应用程序中工作。然后我将接收到的数据存储到数据库中。通过 http 接收的数据与存储在数据库中的数据不同,所以我有 2 层 - 传输层,带有传输对象,以及带有域对象的 DB 层。有些转换器可以将信息从 TO 转换为 DO,或者以其他方式。
我想知道以下哪种选择更好:
将接收到的数据解码为特定传输对象(使用 gson)- FooTO,然后使用 FooConvertor 转换为 FooDO,并将 FooDO 存储到 DB 中。
gson FooConvertor DAO
http content(string) ------> FooTO ----------------> FooDO --------> 数据库
将接收到的数据解码为通用 JsonEntity,然后使用 FooConvertor 将信息转换为 FooDO,并将 FooDO 存储到 DB 中。
gson FooConvertor DAO
http content(string) ------> JSONEntity --------------> FooDO --------> 数据库
一个重要的方面是我无法控制通过 http 接收的 json 对象的结构,它的结构可能随时改变,所以我想尽量减少对我的应用程序的更改影响。