看到别人说推荐一个 java 架构,默默想了下好像在公司里面看到的大多数都是 springBoot+mybatis 的形式,DDD 推出后好像也没看到什么公司用,是只有大公司在用吗?那现在国内外比较新的 java 架构都有啥呢?
101
zsmile OP @luoyou1014 你说 N+1 ,我也不知道,但是查了一下其实也只是不知道这种术语。也就是那么个回事儿。换个说法估计很多 java 从业者都知道
|
102
chuck1in 14 小时 11 分钟前
@qinfengge 简单的直接写的这种模式叫做:SimpleCRUD ,然后复杂的为啥不直接用 Java 来写呢,这样不是更好。
我写过一篇 blog 介绍这个概念: https://juejin.cn/post/7437023118151450639 |
103
pangdundun996 13 小时 54 分钟前
我倒是觉得 mybatis 挺好的,在复杂项目上掌控力更好,以前我们规定即使 selectById 也要放到 xml 里维护,因为项目大起来一但放飞后面就很难维护了
|
104
coder121 13 小时 39 分钟前
javbus 和 javdb 挺好的啊
|
105
w0017 13 小时 28 分钟前
ddd 不是 10 年前的概念?
|
106
luoyou1014 13 小时 9 分钟前
@zsmile N+1 是行业通用的术语,每个 orm 框架都要必须解决的问题,但 java 开发者很少知道这个术语,属于对外界了解不足,mybatis 解决 N+1 的方案,上网搜了一下,都很繁琐,完全没有使用 orm 框架的优点
|
108
chuck1in 12 小时 56 分钟前
@ala2008 如果使用 oracle 之类的商业数据库,jooq 要收费。如果使用开源的数据库比如 mysql 、pg 那些,有社区版本用,这个版本是不收费的。
|
109
chuck1in 12 小时 54 分钟前
@pangdundun996 喜欢写 SQL 的话还是建议尝试下 JOOQ ,这里有模板代码可以下载 www.mjga.cc
像这种把「运行时异常」提前到「编译时异常的」 SQL 支持框架,写起 SQL 来和合并团队代码的时候更加舒服一点。如果使用 XML 除了本身写起来不方便以外,合并代码也是一个难事,经常出现大规模无法识别的合并冲突的问题。 |
110
AcFnu 12 小时 46 分钟前
DDD 在任何语言的开发者中都不温不火,一个是需要统一语言,然后是建模先行,设计先行,其次要求开发人员整体有统一认知,毕竟抽象出很多名词出来。不说别的,即便连.NET 这种为了开发者改变语言特性或者提供框架层面支持,很多 neter 依然用 mvc 都算不上的事务 service (或者叫 sql 组装搬运工?无法单元测试,无法通过函数判断用途)。所以其实找问题放在任何语言任何框架都合适,轮子越出越多,但总是解决一个问题,引伸出更多问题。大环境的问题国内氛围就这样了,很多项目赶鸭子上架,都是先从无到有,从 0 到 1 ,至于 1-100 ,不好意思,考虑不了那么多,当然任何人也不可能一下子做出一个完美产品。软件这条路啊,保持自身技术储备时常更新即可。
|
111
specita 12 小时 12 分钟前
DDD 需要精通业务和相关知识,硬套很可能画得不伦不类的
|
113
kbyyd24 6 小时 56 分钟前
@chuck1in 看到你说的测试了,就是我说的那种。这已经不能算单元测试了。因为被测代码会真实地调用数据库,实际上这是一种集成测试。纠结这个名字其实只是为了区分测试的成本,毕竟单元测试很快就能跑完,而集成测试却需要花一些时间。
btw ,testcontainers 也挺香的,就是一些老旧的 pipeline 工具可能不支持 docker ,遇到这种就抓瞎了 |
115
htxy1985 6 小时 29 分钟前
JOOQ 这种形式,和我刚入行时呆的公司自研的框架几乎用法一摸一样,那时候用的 java 还是 1.6 版本
|