[发明专利]一种基于DDD充血模型及CQRS的代码架构优化系统在审
申请号: | 202011037796.X | 申请日: | 2020-09-28 |
公开(公告)号: | CN112181375A | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 李灿 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/30;G06F8/75 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ddd 充血 模型 cqrs 代码 架构 优化 系统 | ||
1.一种基于DDD充血模型及CQRS的代码架构优化系统,其特征在于,
包括架构分层、领域实体和查询模型;
所述架构分层包括领域层、用例层、适配层和框架层,其依赖关系为由外向内的;
所述领域实体采用包含属性和行为的实体对象设计;
所述查询模型分离了客户端的查询操作。
2.根据权利要求1所述的系统,其特征在于,
领域层封装了核心业务规则,一个领域实体既包含属性和行为,能以业务实体为核心灵活扩展;
用例层包含应用业务规则,整合并且实现了系统中需要的所有用例,这些用例协调着来往于实体之间的数据流;
适配层包含各种适配器,负责把从领域层和用例层流出来的数据转换成为更外面一层需要的数据格式;
框架层是最外面的一层,是工具或库的具体实现细节所在。
3.根据权利要求1所述的系统,其特征在于,
领域实体应该遵循面向对象设计,领域模型具备自己的属性行为状态,并与现实世界的业务对象相映射;
领域实体具备明确的职责划分,领域对象元素之间通过聚合和引用关系配合解决实际业务应用和规则。
4.根据权利要求1所述的系统,其特征在于,
采用独立的查询模型
将客户端请求分为命令和查询,命令通过领域对象进行增加、修改、删除业务逻辑操作,查询通过查询模型将数据库中的数据转换成需要的形式予以返回;
查询模型根据UI的需求变化而变化,同时隔离领域对象不受此变化的影响。
5.根据权利要求2所述的系统,其特征在于,
架构将代码整体划分为五个目录即领域层目录、用例层目录、应用入口适配层、数据提供适配层、框架层目录;通过Java9模块系统或Maven聚合模块实现,或通过最简单的package进行划分。
6.根据权利要求5所述的系统,其特征在于,
领域层目录命名为domain,其中包括service、event、repository三个子目录;
a)domain目录中放置领域实体,领域实体是业务逻辑载体,实体使用领域名称命名;
b)service目录中放置领域服务,当业务逻辑不适合于放在领域实体中时使用领域服务,领域服务使用xxxService命名(xxx代表领域名称,下同);
c)event目录中放置领域事件,当领域实体的状态发生了变化之后需要发出领域事件,领域事件是使用xxxyyyEvent命名(yyy代表操作);
d)repository目录中放置资源库接口,资源库被业务用例使用、由provider提供实现,资源库使用xxxRepository命名。
7.根据权利要求5所述的系统,其特征在于,
用例层目录命名为usecase,其中包括command、query、event、impl四个子目录;
a)usecase目录中放置业务用例接口,业务用例接口使用xxxUsecase命名;
b)impl目录中放置业务用例实现,业务用例实现使用xxxUsecaseImpl命名;
c)command、query目录中放置DTO,划分为命令、查询两类,用于业务用例的参数或返回值。command使用xxxCmd命名,query使用xxxQry命名;
d)event中放置事件的监听器,监听器使用xxx Listener命名。
8.根据权利要求5所述的系统,其特征在于,
应用入口适配层命名为entry,其中包括rest、job、listener三个目录;
a)rest目录中放置rest api,用于响应rest请求,使用xxxRest命名,
b)job目录中放置定时任务,使用xxxJob命名;
c)message中放置消息队列接收器,使用xxxMessage命名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011037796.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种环保型机械用零件清洗除污装置
- 下一篇:一种印刷用胶辊加工工艺