前言
DDD领域驱动设计,Domain-Driven Design,是2004年Eric Evans大佬提出的一种设计方式。
多年后,在微服务大行其道之时,DDD也被越来越多的人推崇。
但是,DDD很难落地,选一个DDD框架,对落地事半功倍。
本文对于2个DDD框架:Axon和COLA,如何选型进行介绍。
一、框架简介
1.DDD
DDD领域驱动设计,Domain-Driven Design。
DDD高度关注领域内的业务,通过领域对象之间解耦,达到业务之间解耦的目的,被许多人称为真正的面向对象开发。
这有别于传统面向数据库开发的方式,
例如,在另一个大佬的《人月神话》中,认为软件要高度关注数据:“数据的展现形式是编程的根本。…数据是程序的核心,代码的实现总是和数据结构紧密相关”。
这是Eric Evans大佬在《实现领域驱动设计》书中提出的DDD传统分层架构:

用户接口层:处理界面显示和用户请求,不包含业务逻辑,不做用户输入校验。
应用层:事务控制,安全认证,组织对领域层的调用,这里对用户输入做校验。
领域层:提供领域服务,领域服务是业务的核心操作,也是DDD的核心设计部分;它不关注数据库等外部数据,数据库和外部服务被认为是领域服务以外的外部数据源。
基础设施层:数据库操作、外部接口调用等,它一般代表六边形架构中的外部数据源。
2.Axon
Axon是基于DDD、CQRS( Command-Query Responsibility Separation)和事件溯源(Event Sou

文章对比了DDD框架Axon和COLA的特点与适用场景。Axon是一个严格的CQRS和事件驱动框架,适合复杂的微服务和长事务项目,但改造成本高;COLA则具有更广泛的适用性,允许灵活的模块划分,适配层与基础设施层的解耦。对于初学者,Axon是学习DDD的好起点,而COLA更适合大多数项目。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



