处理服务于不同目的的重复数据结构的最佳方法

时间:2017-09-17 17:48:27

标签: java design-patterns interop structure

我设计了具有

的核心应用程序
  • 具有Hibernate实体类的数据库模型
  • 带有Jackson序列化的REST传入接口,因此映射所有消息的类
  • 一个REST输出接口,与输入有许多相似之处但是 也很少有差异,新的字段添加,所以再次映射类。

我最初虽然定义了一组Java类,其中一个类用于所有三个目的,但我对此有一些(可能是错误的)不好的感觉。数据库实体是数据库实体,它有一些管理字段(创建日期,修改日期,例如查看标志),REST消息没有,并且外发消息必须与第三方API匹配,但不是很多,但是一些特定的要求,如包括他们将“类名”指定为JSON字段之一,并且必须包含一些简单但必需的自定义代码才能在格式之间进行转换。

尽管如此,在我只是在数据结构之间复制具有相同名称的字段(它是地址,所以城市,街道,门牌号,国家/地区,所有三种变体中存在的邮政编码)的情况下,确实存在很多情况。随着许多领域的存在,小心不要错过任何领域,也感觉我做错了什么。

  • 我是否应该尝试重新定义单个数据结构集,其中所有字段仅提及一次但需要来自不同框架的多个注释(Jackson,Hibernate),只有一个数据库或仅使用REST消息的字段(ok null for JSON消息中的数据库字段和反向)?

  • 或者我是否应该同意自己,数据结构只有一个目的,并且在为不同目的服务的类中具有这些重复字段是否合适?

  • 或者我应该尝试使用反射来复制结构之间相同的名称字段?有人告诉我,只有框架应该使用反射,最好避免使用正常的生产代码。

  • 最后,是否有一些框架可以解决略有不同的,大多数类似的Java类的问题,这些类是合作框架的数据结构?

0 个答案:

没有答案