跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Java 业务数据对象的处理问题
未分類
23 2 月 2021

Java 业务数据对象的处理问题

Java 业务数据对象的处理问题

資深大佬 : yumc 1

问题描述

有一个业务场景,入参是一个业务大对象,数据结构如下:

{     "baseInfo": [         {},         {}     ],     "headInfo": [         {},         {}     ],     "bodyInfo": [         {},         {}     ],     "footInfo": [         {},         {}     ],     ...     "xxxInfo": [         {},         {}     ] } 

其中的”xxxInfo“数组都可以是空数组或空值,最多会有 15 个左右不同的”xxxInfo“对象类型,后端 Java 程序接收到参数之后需要对存在的信息都进行业务处理,有通用的处理,也有特殊的处理。

目前后端是使用Map<String, List<JsonObject>>进行接收,之后转换为Map<String, List<XxxInfo>>,直接遍历该 map 进行通用业务处理,通过map.get(xxx)取得指定成员进行特殊处理。

但是使用Map以及JsonObject这种结构来收参传参是我比较抗拒的,个人觉得不够优雅不够高效,所以想换种接收并处理数据的实现方式。

初步设想

直接使用大 Java 对象接收参数,大对象中包含所有可能出现的 List<XxxInfo>成员。但是这样做失去了使用 Map 结构时易于处理通用业务的优点了。

问题

  1. 那种数据结构更合理呢?除了以上两种方式,有没有更合适的数据结构呢?

  2. 如果使用我提到的使用 Java 大对象,那么如何处理通用业务逻辑更合适呢?

    • 通过反射的方式实现遍历所有成员进行通用业务处理?

    • 硬编码处理?

非常感谢各位答疑解惑,一起讨论

大佬有話說 (3)

  • 資深大佬 : LongMaoz

    反射呗。。。。

  • 資深大佬 : miv

    用 js 就没这个问题了[狗头]

  • 資深大佬 : lraining

    接收参数反射成对象只能是单个对象,如果是 list,就没办法用.class,只能是通过 map 把对象 json 传过来

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具