文章目录
- 介绍
- 1、国外Axon
- 2、阿里Cola
介绍
近年来,关于DDD的讨论越来越多,关于网上的文章很多都是理论上的介绍,由于自己最近也在学习相关知识,所以分享几个关于DDD落地的开源框架
。
1、国外Axon
Axon是国外一款比较系统的DDD开源框架,是基于SpringBoot开发的,Github地址是:https://github.com/AxonFramework/AxonFramework,在axon架构中,有一个axon-server用于可视化管理命令和事件消息存储,下载地址是:https://developer.axoniq.io/download,对于企业版本是收费的。
axon-server下载以后解压缩可以得到如下的文件:
命令行执行java -jar axonserver.jar
,浏览器运行http://localhost:8024可以看到如下界面:
官方文档地址是:https://docs.axoniq.io/reference-guide/,文档中对DDD进行了比较系统的介绍,如CQRS、领域建模、事件驱动等知识,关于如何使用可查阅文档:
官方也提供了一个使用案例,Github地址是:https://github.com/AxonIQ/giftcard-demo。
axon已经和SpringBoot进行了很好的集成,在自己的项目中使用只需要导入如下依赖即可,然后配置axon-server服务的地址注册服务:
<dependency><groupId>org.axonframework</groupId><artifactId>axon-spring-boot-starter</artifactId>
</dependency>
2、阿里Cola
cola是阿里巴巴开源的一款DDD落地开源框架,目前最高版本是4.3.2版本,采用4层架构,Github地址是https://github.com/alibaba/COLA,摘自的架构图如下:
在命令行执行如下命令可以生成对应的包结构:
mvn archetype:generate \-DgroupId=cn.xilio \-DartifactId=shorturl \-Dversion=1.0.0-SNAPSHOT \-Dpackage=cn.xilio.shorturl \-DarchetypeArtifactId=cola-framework-archetype-web \-DarchetypeGroupId=com.alibaba.cola \-DarchetypeVersion=4.3.2
最终会生成如下的目录结构如下所示:
最后再分享几个社区:
- Martin Fowler:国外Martin Fowler大佬的博客,只能膜拜。
- 微软技术文档