-
如何基于COLA架构快速实现一个CRUD操作
COLA 是 Clean Object-oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的DDD开源项目。COLA是一套用于帮助开发人员快速实践DDD落地的项目架构。目前COLA已经发展到COLA 4.0。

在COLA架构中,比如我们想创建一个User,一套完整的调用链大概如下图所示:

1. 前端发起Command请求,经过CommandBus分发给对应Command命令处理程序(在COLA 4.0版本中,CommandBus已经移除了);
2. 应用层服务接收Command请求,进行参数逻辑校验;
3. 调用领域层中调用领域对象UserE的create方法;
4. 在create方法中调用infrastructure层中的gateway实现类,进行数据持久化。
下图是领域对象Customer的方法,其中的create方法实现机制基本一致。

在COLA 4.0架构,更多的时候是在Command Executor(命令处理程序)中调用gateway实现类,完成数据的持久化操作,而不是调用领域对象的create方法。也就是说,create方法直接由gateway实现类提供。
关于COLA 4.0应用项目入门实践、代码落地和源代码下载,可以参考《COLA 4.x架构入门和项目实践》技术专栏。内容由浅入深,收获满满。

《COLA 4.x架构入门和项目实践》技术专栏首先介绍了COLA框架的使用入门,以及与IDEA开发工具的集成等等;然后基于COLA架构,创建DDD经典示例项目-货物运输系统,详细介绍了DDD领域建模、适配层、应用层、领域层和基础设施层的代码开发、防腐层(ACL)设计与实现、领域事件(Domain Event)入门实践、以及基于Kafka消息中间件的消息发布和订阅等等。内容由浅入深,从开发实战出发,逐步掌握基于COLA架构和DDD领域建模思想构建复杂业务应用系统。
出处:https://www.cnblogs.com/rickie/p/15039026.html
出处:https://www.cnblogs.com/rickie/p/15039026.html
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比