首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java类设计

Java类设计
EN

Software Engineering用户
提问于 2018-11-30 04:39:03
回答 1查看 235关注 0票数 1

我需要发送一个json回复。我使用jackson库将类转换为json。我有一个核心java类,需要添加更多字段来创建json响应。我有两个想法。

  1. 以扩展核心java类。
  2. 使用核心类对象作为构造函数的另一个类。

对两种方法的关切是:

  1. 我有一个核心层,它从数据库中返回核心java对象。我需要调用一个方法来返回扩展类对象。在核心层中,我必须创建扩展类的实例并返回
  2. 我可以很容易地用它实现json响应,但是对于每个对象,都会创建一个包装器类型的对象。

请指导我有一个设计模式。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2018-11-30 13:38:40

我以前经常和这个问题做斗争。但幸运的是,它有一个明确的答案:选择第二个选项,然后继续做另一个类。

这似乎不那么明显,因为您害怕重复自己;但是,让我向您保证,拥有一个单独的DTO并不是重复代码。这是因为这两个类有着完全不同的目的,占用了不同的域。它们看起来可能相似,但这些相似之处只是巧合,而不是因果关系。

如果使用JSON的客户端需要删除其中一个字段来保存性能,因为它太大了呢?您不能从核心对象中移除该字段,因此如果使用继承选项,则会遇到非常棘手的情况。

不要害怕在需要的地方添加更多的类;它最终使事情变得更简单,并且实际上减少了代码的总量。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/382238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档