DDD的一些设计

DDD全名,领域驱动设计。是一门软件设计理论,在面向对象的基础上进一步,作用是设计出低耦合、高内聚的软件产品,通过分层的设计思想,是软件达到扩展、性能、易读性;

为了devops和低代码生成器的标准化规范前提;devops是根据DDD领域驱动的持续集成、测试、敏捷开发、交付;

  1. 首先,需要对一个业务需求分析,创建领域模型;

  2. 然后,将模型对象和业务逻辑,开发落实到四层代码当中的领域层domain;【应用层application、领域层domain、用户界面层interfaces、基础设施层infrastructure】

  3. 再然后,理解一下概念

  •     应用层application:全是接口interface没有接口的实现,和定时任务;
  •     用户界面层interfaces:全是controllers和dto,也就是说这里controllers是对外提供的restful api,dto则是api带验证的入参对象;
  •     基础设施层infrastructure:配置文件、工具包、数据库连接、权限、拦截器、过滤器、公共组件、全局变量、全局常量等;
  •     pom.xml:引入依赖的外部包、外部公共组件;
  •     业务逻辑、业务过程、业务行为:可以理解业务逻辑是由多个业务行为(也叫业务过程)串联组成;
  •     领域=聚合=表的全部内容=大圆圈;
  •     领域对象=小椭圆=表字段=也可以是业务过程;
  •     聚合根=聚合和聚合之间关联(主键、外键)=表名;
  1. 最后,分四层的目的,使得代码清晰,便于迁移。新项目复用的时候,只需要将领域层、应用层的代码拷贝出来,在新项目的用户界面层进行引用即可;

如何设计聚合?简单说就是对业务需求的理解,抽离出业务行为,在然后对业务行为抽离出领域对象【大圆圈是聚合,小椭圆是领域对象】

实例:保单系统聚合的过程

 

上一篇:# markdown学习


下一篇:分布式抽奖秒杀系统,DDD架构设计和实现分享