Java 在我的生产代码中,我应该仍然使用来自JAXB对象的枚举吗?
我们有一个项目,其中JAXB对象与生产代码分离。我们在生产代码中创建了一个实体(基于JAXB对象)。这些JAXB对象也会自动生成枚举。我该怎么办?我应该仍然使用这些JAXB枚举还是在生产代码中创建一个单独的枚举?是否也会太贵?选项包括:Java 在我的生产代码中,我应该仍然使用来自JAXB对象的枚举吗?,java,enums,jaxb,refactoring,Java,Enums,Jaxb,Refactoring,我们有一个项目,其中JAXB对象与生产代码分离。我们在生产代码中创建了一个实体(基于JAXB对象)。这些JAXB对象也会自动生成枚举。我该怎么办?我应该仍然使用这些JAXB枚举还是在生产代码中创建一个单独的枚举?是否也会太贵?选项包括: 实现一个单独的实体模型,仅将JAXB模式派生类用作DTO,实现实体->DTO转换器 直接使用模式派生类作为实体模型 第一个选项的成本更高,但是您在业务逻辑和外观层之间有了更清晰的分离 第二种选择更便宜,但完全是模式驱动的 在业务逻辑中使用模式派生的枚举(或其
- 实现一个单独的实体模型,仅将JAXB模式派生类用作DTO,实现实体->DTO转换器
- 直接使用模式派生类作为实体模型
- 如果模式将被更改,会发生什么情况
- 如果需要并行支持多个模式版本,该怎么办
- 如果您需要支持其他传输通道格式,而不仅仅是XML,该怎么办
- 如果您需要向业务实体添加无法(轻松)自动生成的功能,该怎么办
业务实体/数据类型和DTO之间的清晰分离非常有帮助。上述变更/需求只会影响一个层面,而不会影响业务逻辑或以下层面。您所说的“与生产代码分离”是什么意思?您的意思是,您使用JAXB类将XML解析为对象结构,然后将这些类映射到您的应用程序模型吗?对不起,我猜生产代码意味着应用程序代码。谢谢,它澄清了我的问题