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

2020-11-24 15:43:31 +08:00
 asanelder
当前项目中涉及到数据库相关
各种 vo, go, 内容都差不多,转来转去
各种 dao, mapper, service, controller,各种接口也差不多,调来调去。

各位铁子们,现在好的实践是什么呀,以上这些好烦啊~~~~
2409 次点击
所在节点    问与答
18 条回复
silentt
2020-11-24 17:01:03 +08:00
当你觉得这样做烦且无意义的时候,只是因为你们的项目太小了。
sagaxu
2020-11-24 17:06:55 +08:00
你可以不理会这些,controller 里直接拼 sql 查 db
taaaang
2020-11-24 17:08:31 +08:00
java 只是一门语言。。。
optional
2020-11-24 17:10:47 +08:00
对 java 这些破事特多,没办法忍。lombok 和各种 utils 可以省点事。
wysnylc
2020-11-24 17:13:06 +08:00
Spring boot,tkMapper
你只是没找到正确的路以及没有想到带来的好处
asanelder
2020-11-24 17:39:22 +08:00
@silentt #1 项目大了,这样做岂不是更烦?
@wysnylc #5 俺调研一下
sheeta
2020-11-24 17:56:01 +08:00
mapstruct
zzzmh
2020-11-24 17:57:28 +08:00
假如你接手一个别人遗留的项目,啥都写一起,重复的代码一大堆,就有的苦了。
itskingname
2020-11-24 18:11:32 +08:00
因为 Java 是一个非常繁琐的语言,Java 程序员秃头多,就是因为这个原因。
asanelder
2020-11-24 19:03:47 +08:00
@itskingname #9 使用别的语言呢?俺感觉也避免不了类型问题啊,不知铁子可否指教一二?其它的语言是怎么解决类似问题的?
@zzzmh #8 你猜对了
tinyuu
2020-11-24 19:45:13 +08:00
怎么舒服怎么写
lllpla
2020-11-24 22:38:36 +08:00
看你怎么理解分层设计了,分层是比较繁琐,但是也有他的优势。
每层只处理自己的逻辑。 分清哪些工作是业务 ,哪些是工作数据序列化,哪些工作是跟外部系统调用。
以后要修改的话 也会很清晰。
uselessVisitor
2020-11-24 22:48:35 +08:00
业务流简单可能觉得接口差不多。。
helloworldgo
2020-11-24 23:21:38 +08:00
你可以都写到 controller 里,但是可能会被接手的人 f**k
asanelder
2020-11-24 23:34:26 +08:00
@helloworldgo #14
@beichenhpy #13
@lllpla #12
想试试 DDD
EminemW
2020-11-25 02:36:00 +08:00
试试接手一个只有 Controller 层的代码
lanyuanxiaoyao
2020-11-25 03:39:25 +08:00
mvc 和 Java 没啥必然关系,你去其他语言里面也有这一套,无非就是名字改改加一些别的理念,这个本来就是软件工程里面的东西,解决的是一些工程里问题,主要就是区分代码职责,眼下是你自己一个人或者几个人写项目,涉及的合作代码不多,可以轻松地掌握整个项目的逻辑,但是一旦开发人员多了,代码量大了,代码职责分工肯定是重中之重,不然最起码一个 bug 你都不知道在几十个包几百个类里面要看哪部分的代码
这种类型的设计模式基本上都是几十年下来全世界代码实践里优胜劣汰下来的,如果你感受不到其中的好处的话,很有可能它解决的是一些你目前代码规模还没遇到的问题,你可以去看看这些设计模式的历史,看看当年提出这些模式是为了解决什么问题,毕竟总是要解决一些问题的,不然干嘛吃力不讨好写这么多模板代码
rodrick
2020-11-25 08:19:25 +08:00
可以先搜一下这种设计的模式为什么会被这样设计,先理解一下,我觉得用多一些代码换业务逻辑的清晰是一件很划算的事

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

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

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

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

© 2021 V2EX