DDD代码实践篇–NBA篮球运营管理平台

一、背景

    之前在写DDD的实践代码,耽误了几个星期,最近快接近尾声了,也准备整理一下弄一个电子书小册子。这几周也在加快发布进度。关于NBA体育活动领域的业务,上一篇文章在领域建模分析中有点单刀直入了,仿佛忘了写这个项目的最初目的是什么,需求是什么,直接上就有点令人琢磨不透,增加理解成本。这里补充一下。项目名称或者需求就是要仿照当前NBA体育赛事的一些现实场景做一个篮球运营管理平台。这里简单说明一下需求:

1.对球队,球员的一些活动进行管理,如选秀,交易。2.管理比赛赛程,比赛活动,以及收集并处理比赛活动数据3.对球员交易,球队资产,球员合同,球员薪资等信息进行管理。4.对接其他第三方合作商,如经纪公司,广告商,视频转播直播合作商等商务活动。

二、领域分析


2.0 领域上下文图


DDD代码实践篇--NBA篮球运营管理平台
篮球比赛管理系统上下文分析.png

以上只是目前basketball-plat中体现的一些核心领域,另外还有薪资域和工作流等支撑域没有体现。


三、领域服务构建

3.0 服务依赖包/中间件

springboot ,dubbo, rocketmq, mybatis, mapstruct,mysql

3.1 领域服务工程

1.basketballDemo功能:基于cola架构分包思想管理球员,球队,交易,比赛活动,选秀活动等信息。给不同角色的联盟成员提供一定的数据管理能力,属于核心系统。2.basketball-statistics功能:比赛活动实时数据收集与查询,单独做数据库。3.basketball-workflow功能:目前不打算写具体业务代码,basketballDemo会依赖basketball-statistics工程提供比赛数据,同时会依赖basketball-workflow提供审批流服务。这里只是虚拟一个服务作为basketballDemo的下游服务。4.basketball-salary 功能:目前不打算写具体业务代码,后续扩展球员薪资发放等业务逻辑。

四、业务调用流程

4.1 球员报名选秀


DDD代码实践篇--NBA篮球运营管理平台


4.2 比赛活动安排和数据统计


DDD代码实践篇--NBA篮球运营管理平台


4.3 球员签约


DDD代码实践篇--NBA篮球运营管理平台


4.4 球队球员交易


DDD代码实践篇--NBA篮球运营管理平台


4.5 获取球队战绩列表


DDD代码实践篇--NBA篮球运营管理平台


五、代码说明

5.1 中间件依赖

    目前根据cola架构模块的思想将技术相关的都放在infrast层,另外的相关配置也可以通过调整来分别管理。

5.2 aop集成

    aop相关的目前从代码工厂看可以全部放到start项目工程里,但是也不一定合适,目前看有些具有特定功能的aop功能可以分散到不同工程模块下,如幂等,日志,锁等。

5.3 spring 事件监听消费

    在消息消费的地方通过MqHandler接收消息,同时借助spring event 机制将事件发出去,由对应应用层消息监听器监听。

5.4 git地址

https://gitee.com/codergit.com/dddin-action.git


原文始发于微信公众号(神帅的架构实战):DDD代码实践篇–NBA篮球运营管理平台

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/241667.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!