国内的 Java 体系真的很落后吗?

303 天前
 zsmile

看到别人说推荐一个 java 架构,默默想了下好像在公司里面看到的大多数都是 springBoot+mybatis 的形式,DDD 推出后好像也没看到什么公司用,是只有大公司在用吗?那现在国内外比较新的 java 架构都有啥呢?

18435 次点击
所在节点    Java
135 条回复
sampeng
303 天前
有一说一,国外?国外现在流行 next.js 一把梭。做起来再改语言,能不能活还打个问号呢。先不谈是不是牛马,这没法聊下去了。国内的整体研发体系的效率就是比海外高,为什么高?人家在那吭哧吭哧先设计再写代码,单元测试啥都一个不漏。国内?呵呵,又不是不能用,先跑起来,线上调试就是一个热更新的事。整个对比我觉得不是在一个概念上的对比,完全没有什么意义。结论就是,谈技术研发架构,就不要拿国内和国外对比。
AlexBob
303 天前
jdk 21,spring boot 3.4,webflux,r2dbc,spring ai

你只要跟着 spring boot 最新版本更新,就自然而然知道了.

国内多落后
arfa
303 天前
DDD 也不是什么新的东东, 早在 2004 年就由埃里克·埃文斯提出,现在都有 20 年了
为什么流行不起来?
Ayanokouji
303 天前
有啥落后的。jpa 就比 mybatis 好用? 用注解写就比 xml 好? mybatis 也支持注解
3 张表以上的 join ,写写就明白了
cvbnt
303 天前
决定技术架构的是高级开发架构师甚至是老板,这些人通常是有作为招聘角色的可能性存在的,从招聘来讲满足业务情况下选大家都会的就行了
zoharSoul
303 天前
ddd 根本不好用
wysnxzm
303 天前
@Ayanokouji #24 join 建议多些,这样分库或者做性能优化的时候得的教训才够深刻
Geekerstar
303 天前
@xiaogu2014 Java 热门项目好多都是面试文档
R4rvZ6agNVWr56V0
303 天前
❌ 国内 vs 国外
✅ 国内 vs 某国
agagega
303 天前
如果 mybatis 的优点是对自定义 SQL 支持比较好,那为什么国内对自定义 SQL 的需求更大呢
iminto
303 天前
首先,DDD 是落后玩意。
其次,Mybatis 不好用
最后,其他语言不比 Java 高级。
ryougifujino
303 天前
@arfa DDD 门槛太高了,真正懂的就没几个。首先理解起来就很复杂,其次不单是编码的战术层面要实施,而是要从领导、产品、等等非编码人员都要充分互相沟通,从战略上实施。
ryougifujino
303 天前
@iminto DDD 只是门槛高,思想是很先进的,并不落后。
imokkkk
302 天前
@agagega 因为产品需求足够奇葩
CC11001100
302 天前
万年 Java8 ,为了维护兼容 JDK8 的项目,我还专门写了个脚本。。。🤣

https://github.com/scagogogo/mvnrepository-helper-UserScript
coolair
302 天前
很落后,还在 SSH 呢。
sujin190
302 天前
公司一堆瞎搬硬套所谓 DDD 的真是够无语的,看着挺高大上的其实做的一塌糊涂,bug,多有牛毛,哪那么多场景需要你用全套的 DDD 啊,本来就不是啥多先进的东西,不过是工程需要罢了,搞什么技术崇拜啊
kbyyd24
302 天前
DDD 还是香的。但是它确实门槛高,需要开发能够理解业务,整个团队需要形成统一语言。这在一些公司确实难做到。

MyBatis 倒是接触过一点遗留项目里的,真的是太恶心了,XML 里面写 SQL ,SQL 里面嵌套 XML 写逻辑。。。反正我是不理解。我觉得还不如 JPA 。
当然我也不是夸 JPA ,JPA 在项目刚开始的时候还算香,但是遇到性能问题、连表查询就头痛了。
用 JDBC 手搓 SQL 也不是不行,现在 IDEA 的提示已经可以避免掉 SQL 里出现 typo 的问题了。
不过我还是最喜欢 JOOQ ,真的香。像 querydsl 一样的 type safe sql ,并且还不是 JPA ,不会让你写不出想要的 SQL 。当然也有缺点,就是不好写单元测试。不过前面几个好像也不行 🤣。有条件的话可以用 testcontainers 起一个 docker 来跑集成测试,跑不了 docker 的话也可以考虑用一个 embedded DB 。

但是我觉得 SQL 这部分最恶心的还不是这些框架的限制,而是有的人会写出几十上百行 SQL (不管国内国外)。这种代码根本没有维护的欲望。DDD 里的聚合根其实可以一定程度上规避这种问题,限定数据库查询的范围,需要范围之外的数据就用别的 SQL 单独去查询一下。
liuliuliuliu
302 天前
@luoyou1014 #18 总结的很到位,尤其最后一句,其他语言也确实很难实现 C#的 ef core
echo1937
302 天前
@agagega 国内非互联网公司中,政企项目占比极大,其中又以信息化项目居多(就是以前这块都是实体纸质管理现在要信息化),这时候你会发现 甲方的话语权很大/需要向实际情况妥协 (怎么你还想改革甲方的实际业务流程吗),这是 面向 sql 编程 的最适宜场景了。

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

https://ex.noerr.eu.org/t/1103584

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

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

© 2021 V2EX