Skip to main content

关于myddd-spring-boot的声明与建议

1. 声明

myddd-spring-boot并非是由我从零开始构建的代码,它来源于dddlib,无论何时我都会明白无误的申明这一点。

dddlib是杨宇老师的领域驱动开源框架,其开源地址为https://github.com/dayatang/dddlib

我早年工作的公司,用的就是这个框架,因此对这个我对这个框架有一定的熟悉度。

1.1 myddd-spring-boot的"诞生记"

将dddlib改造为myddd-spring-boot的一个最主要原因是dddlib并未适配Spring Boot,我在2020年需要开发一个后台服务,想用Spring Boot,又想用dddlib,当时考虑到dddlib很久没有更新,似乎处于不再维护的状态,因此决定在它的基础之上,将其与Spring Boot深度适配。

dddlib我只拿了其中与ddd概念有关的几个模块,如domain,ioc,repository以及查询通道等,其它与ddd概念无关的一些模块,我没有拿过来。

这便是myddd-spring-boot最开始的来源。

2. 2.0的重写

我已经按照自己对ddd的理解,对myddd-spring-boot进行了大范围的重构,因此myddd-spring-boot 2.x版本开始,已经与dddlib告别。

并且从2.x版本开始,已经按照TDD的方式来开发与维护myddd-spring-boot,并且加入了SonarQube质量管控,单元测试覆盖率不少于80%。

3. SonarQube质量报告

当前主干的SonarQube的质量状态为:

SonarQube质量报告

4. myddd-spring-boot 与 myddd-vertx

我在2021年机缘巧合之下,决定基于Kotlin+Vert.x给自己整理一套新的后端开发技术栈,最核心的原因在于:

  • Kotlin是更简洁优雅的语言
  • Vert.x是基于异步的性能极佳的框架

在了解了这两个技术后,我毫不犹豫的基于它们,根据自己的ddd的一些理解,抽取了myddd-vertx基础框架。

如果您愿意尝试,则可以考虑

在后端可以考虑使用更简洁与优雅,性能极为出色的myddd-vertx,而非myddd-spring-boot

当然,这一切仍然由你决定。