如何开始DDD领域驱动设计

2022-01-12 17:25:55 浏览数 (1)

最近从多种不同渠道了解到DDD领域驱动设计,对复杂业务的设计具有特别好的效果,本人负责的是电商业务的交易系统,正好是很适合的。 那么应该怎么把当前数据库驱动设计切换DDD呢?

数据库设计驱动特点

  • 一般分为Controller, Service和Repository
  • 贫血模型:业务实体类一般都只有getter/setter,不包含任何业务逻辑
  • 复杂的service:业务逻辑都分布在各个service中

切换

  • service中的业务逻辑迁移到实体类(形成领域类),充血模型
  • 远程调用怎么处理?

迁移到factory类,比如库存扣减等

  • 多个实体类如何一起处理?比如订单表和订单商品表的写入

领域类是订单OrderDomain:下单操作后,可以生成两个实体类,分别是订单实体和商品列表实体

参考

  • 设计模式之美:实战一(上):业务开发常用的基于贫血模型的MVC架构违背OOP吗?
  • 如何开始DDD

0 人点赞