现代化的领域驱动设计的货物跟踪系统
DDDSample: 现代领域驱动设计的货物跟踪系统
项目概述
技术栈
- Spring Boot 3:作为基础框架,利用其自动配置和依赖注入功能,简化项目开发和部署。
- JPA (Spring Data JPA):用于数据库操作,提供简洁的方式访问和管理数据。
- JMS (Spring ActiveMQ):实现消息队列,支持异步通信和事件驱动架构。
功能特性
策略设计模式
CargoTrackerApplicationProperties
中的 HandlingReportProcessStrategy
可以灵活选择处理策略,提高了系统的灵活性和可配置性。
@Data @ConfigurationProperties(prefix = "cargotracker.application") public class CargoTrackerApplicationProperties { private final HandlingReport handingReport = new HandlingReport(); public enum HandlingReportProcessStrategy { MESSAGE, THREAD, DIRECT } @Data public static class HandlingReport { private HandlingReportProcessStrategy processStrategy = HandlingReportProcessStrategy.DIRECT; } }
BDD 测试
无删除设计
领域层分离
CQRS 分离
架构设计
分层架构与模块化
事件驱动架构
CargoCreatedEvent
、 CargoRoutedEvent
等。通过消息队列和事件监听器,实现了异步处理和系统的可扩展性。 领域建模
清晰的领域模型
Cargo
、 Itinerary
、 Leg
、 Location
等,准确地反映了业务领域的概念和关系。 值对象和实体的区分
TrackingId
是值对象,用于唯一标识货物; Cargo
是实体,具有唯一标识和生命周期。 
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
.Net 权限工作流框架 OpenAuth.Net 多项重大更新
根据 OpenAuth.Net 官网更新日志显示,OpenAuth.Net 7.3发布,其中多项重大更新: 新增API鉴权功能。目前主流的接口平台都提供按角色(或账号)授权访问API的功能,OpenAuth.Net也不例外。在OpenAuth.Net中,接口API被当作资源处理,可以自有分配给用户、角色。 全新的流程设计界面,并且流程增加任意节点撤回审批功能: 🔥.Net 权限管理及快速开发框架、最好用的权限工作流系统。源于 Martin Fowler 企业级应用开发思想及最新技术组合(SqlSugar、EF、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、Vue2/3、Element-ui/plus、IdentityServer 等)。核心模块包括:角色授权、代码生成、智能打印、表单设计、工作流、定时任务等。架构易扩展,是中小企业的首选。
- 下一篇
无鱼 v2.2.0 已经发布,项目工时系统
无鱼 v2.2.0 已经发布,项目工时系统。 更新内容: 修复了项目经理加入人员时,提示querySelect问题。 优化了首页的页面风格。 优化了填报工时\编辑工时\查看工时的页面,以及部分描述。 修复了数据查询界面数据为0时的显示问题。 其他细节优化。 目前主要对新框架的问题修复,下个版本开始进行功能的迭代和增加。 详情查看:https://gitee.com/wy-soft/wyproject/releases/v2.2.0
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS关闭SELinux安全模块
- CentOS7,8上快速安装Gitea,搭建Git服务器