领域驱动设计作为一种软件开发方法,基本思路在于清楚界定不同的系统与业务关注点,并基于技术工具按照领域模型进行软件开发。面对日益复杂的软件系统本身以及围绕软件系统所展开的过程和组织因素,领域驱动设计为我们提供了一套从业务到技术的解决方案,而这套解决方案也内置了一组DDD的核心概念,包括如下内容。
❑子域:系统拆分的切入点。
❑限界上下文:业务整合的边界。
❑聚合:充当访问入口的一种领域模型对象。
❑实体:具有唯一标识的一种领域模型对象。
❑值对象:只包含数据属性的一种领域模型对象。
❑领域服务:承载业务规则的独立接口。
❑领域事件:代表业务状态变更的一种领域对象。
❑资源库:领域模型对象的提供者。
❑应用服务:领域模型对象的外观层。
❑基础设施:面向技术实现的基础功能组件。
在上一章中,我们已经介绍了上述概念中的大部分内容。而在本章中,我们将针对这些概念的方方面面进行详细讨论。