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领域建模思想构建复杂业务应用系统。