V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dajj
V2EX  ›  Java

Java 中怎么处理类似类对象太多的情况

  •  
  •   dajj · 2021-04-09 17:01:37 +08:00 · 1276 次点击
    这是一个创建于 1350 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在一个创建请求中, 需要一个类 A 获取用户输入,
    然后需要一个类 B 传给 mybaits 进行数据库查询
    然后需要一个类 C 作为查询结果,
    最后还有一个类 D, 作为最终返回给客户端的结构
    如果需要查询的时候,不查某些字段,可能需要类 E 作为返回结构

    这几个对象 A,B,C,D,E 字段很很多相同的,但是也有少量不同的字段

    这样定义太多重复的字段, 当修改某个字段的时候,需要修改很多个文件。
    当然也考虑过继承, 在父类中定义共同的字段。 但是也有问题, 首先很不直观,因为这些类仅仅字段不同,并没有逻辑上的关联关系, 另外只能取最小的集合,很难满足需求。

    还有其它方案可以简化这种情况吗,不用定义这么多个类似的类?
    4 条回复    2021-04-28 00:07:24 +08:00
    jotpot
        1
    jotpot  
       2021-04-09 21:08:34 +08:00 via iPhone
    改的最多的应该是 cd 吧。a 是用户输入的,b 是查询条件,c 是数据库 domain,d 是 vo 输出,每个作用不一样,还是都改吧,要不你把 cd 合并了,再不行把 acd 合并了,项目规模小的话再再不行就把 abcd 合并了。
    liian2019
        2
    liian2019  
       2021-04-14 18:26:23 +08:00
    pojo 一把嗦可以解决你的困扰
    ychost
        3
    ychost  
       2021-04-19 10:10:34 +08:00
    确实,还有查询条件 E 等等,多人协作一般都会这样严格划分减少沟通成本,和重构风险,一般那种自己一个人维护的项目就没必要了,保持 DO 干净即可,其它的公用一个 POJO,当有差异的时候,加 Extension 扩展字段,每种领域维护自己的扩展字段就好,其余的保持公用
    sqmwin
        4
    sqmwin  
       2021-04-28 00:07:24 +08:00
    A 、B 、C 可以整合为一个对象吧,形成 X,C 把 X 作为字段组合进来,不查的字段用字段多的对象也没问题吧,前端按照文档取值就行了吧,或者序列化时指定不需要查的字段不进行序列话
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5220 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:15 · PVG 16:15 · LAX 00:15 · JFK 03:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.