天天看点

Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware领域

作者:甘道实验

Domain-Driven Design –Tackling Complexity in the Heart of Software 领域驱动设计—软件核心复杂性应对之道,

CQRS 使用分离的接口将数据查询操作(Queries)和数据修改操作(Commands)分离开来

> 失血模型:是仅包含属性的 getter/setter 方法的数据载体,没有行为和动作,业务逻辑由服务层完成。

> 贫血模型:包括了属性、getter/setter 方法,和不依赖于持久化的原子领域逻辑,依赖于持久层的业务逻辑将会放到服务层中。

> 充血模型:包含了属性、getter/setter 方法、大部分的业务逻辑,包括依赖于持久层的业务逻辑,所以使用充血模型的领域层是依赖于持久层,服务层是很薄的一层,仅仅封装事务和少量逻辑。

> 胀血模型:取消了 Service 层,胀血模型就是把和业务逻辑不相关的其他应用逻辑(如授权、事务等)都放到领域模型中。

Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware领域
Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware领域
Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware领域
Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware领域
Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware领域

继续阅读