asanelder
V2EX  ›  问与答

Java vo, qo, dao, mapper, service, controller 好烦啊

  •  
  •   asanelder · Nov 24, 2020 · 3955 views
    This topic created in 2170 days ago, the information mentioned may be changed or developed.
    当前项目中涉及到数据库相关
    各种 vo, go, 内容都差不多,转来转去
    各种 dao, mapper, service, controller,各种接口也差不多,调来调去。

    各位铁子们,现在好的实践是什么呀,以上这些好烦啊~~~~
    18 replies  •  2020-11-25 08:19:25 +08:00
    silentt
    silentt
    Nov 24, 2020❤️7
    1
    当你觉得这样做烦且无意义的时候,只是因为你们的项目太小了。
    sagaxu
    sagaxu
    Nov 24, 2020 via Android
    2
    你可以不理会这些,controller 里直接拼 sql 查 db
    taaaang
    taaaang
    Nov 24, 2020
    3
    java 只是一门语言。。。
    optional
    optional
    Nov 24, 2020 via iPhone
    4
    对 java 这些破事特多,没办法忍。lombok 和各种 utils 可以省点事。
    wysnylc
    wysnylc
    Nov 24, 2020
    5
    Spring boot,tkMapper
    你只是没找到正确的路以及没有想到带来的好处
    asanelder
    asanelder
    OP
    Nov 24, 2020
    6
    @silentt #1 项目大了,这样做岂不是更烦?
    @wysnylc #5 俺调研一下
    sheeta
    sheeta
    Nov 24, 2020 via Android
    7
    mapstruct
    zzzmh
    zzzmh
    Nov 24, 2020
    8
    假如你接手一个别人遗留的项目,啥都写一起,重复的代码一大堆,就有的苦了。
    itskingname
    itskingname
    Nov 24, 2020
    9
    因为 Java 是一个非常繁琐的语言,Java 程序员秃头多,就是因为这个原因。
    asanelder
    asanelder
    OP
    Nov 24, 2020
    10
    @itskingname #9 使用别的语言呢?俺感觉也避免不了类型问题啊,不知铁子可否指教一二?其它的语言是怎么解决类似问题的?
    @zzzmh #8 你猜对了
    tinyuu
    tinyuu
    Nov 24, 2020
    11
    怎么舒服怎么写
    lllpla
    lllpla
    Nov 24, 2020
    12
    看你怎么理解分层设计了,分层是比较繁琐,但是也有他的优势。
    每层只处理自己的逻辑。 分清哪些工作是业务 ,哪些是工作数据序列化,哪些工作是跟外部系统调用。
    以后要修改的话 也会很清晰。
    zm8m93Q1e5otOC69
    zm8m93Q1e5otOC69
    Nov 24, 2020 via Android
    13
    业务流简单可能觉得接口差不多。。
    helloworldgo
    helloworldgo
    Nov 24, 2020
    14
    你可以都写到 controller 里,但是可能会被接手的人 f**k
    asanelder
    asanelder
    OP
    Nov 24, 2020
    15
    @helloworldgo #14
    @beichenhpy #13
    @lllpla #12
    想试试 DDD
    EminemW
    EminemW
    Nov 25, 2020 via iPhone
    16
    试试接手一个只有 Controller 层的代码
    lanyuanxiaoyao
    lanyuanxiaoyao
    Nov 25, 2020 via Android❤️1
    17
    mvc 和 Java 没啥必然关系,你去其他语言里面也有这一套,无非就是名字改改加一些别的理念,这个本来就是软件工程里面的东西,解决的是一些工程里问题,主要就是区分代码职责,眼下是你自己一个人或者几个人写项目,涉及的合作代码不多,可以轻松地掌握整个项目的逻辑,但是一旦开发人员多了,代码量大了,代码职责分工肯定是重中之重,不然最起码一个 bug 你都不知道在几十个包几百个类里面要看哪部分的代码
    这种类型的设计模式基本上都是几十年下来全世界代码实践里优胜劣汰下来的,如果你感受不到其中的好处的话,很有可能它解决的是一些你目前代码规模还没遇到的问题,你可以去看看这些设计模式的历史,看看当年提出这些模式是为了解决什么问题,毕竟总是要解决一些问题的,不然干嘛吃力不讨好写这么多模板代码
    rodrick
    rodrick
    Nov 25, 2020
    18
    可以先搜一下这种设计的模式为什么会被这样设计,先理解一下,我觉得用多一些代码换业务逻辑的清晰是一件很划算的事
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3070 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 11:37 · PVG 19:37 · LAX 03:37 · JFK 06:37
    ♥ Do have faith in what you're doing.