Java 中,如果构建一个 POJO 的代码很复杂,可能要有百来行,那么肯定要在做一些抽象,问题在于抽象出来的方法,它放哪儿啊?

2023-10-08 13:15:10 +08:00
 BraveXaiver
比如这个 POJO 是用作请求体的,被 Service 层的一个 service 调用,那么抽象出来的这个方法,放这个 Service 中?
可能对于一个方法还好。

可如果说这个 POJO 有个四五层的深度,底层 POJO 也比较复杂需要专门搞个方法,那这样零零散散搞出来五六个,都放这个 service 中,是不是就感觉比较古怪了。。
1222 次点击
所在节点    Java
4 条回复
anonydmer
2023-10-08 13:37:54 +08:00
Factory ,你的对象都有百来行才能构建完成了,应该是个比较复杂的业务场景了,引入 factory 是个常见的做法,可参考 DDD
BraveXaiver
2023-10-08 13:49:55 +08:00
@anonydmer 说复杂也不复杂,从数据库和请求体中去很多数据,然后构建出一个请求体实例,调用 RestTemplate 出去。。

哎,工厂什么的让人立刻想到的是那种静态动态工厂。其实你的意思差不多是专门搞一个工具类负责构建这个请求体对吗
vx
2023-10-08 13:53:00 +08:00
是的写个服务类用来组装 POJO, 可以把工厂,建造者结合用
Dlin
2023-10-08 22:55:40 +08:00
@vx 同意该观点。这个类有很多用处的话,建议专门写一个 helper 类,辅助构建该类,可以添加很多有用的构建方法,配合建造者模式。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/979830

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX