首页 > 其他分享 >拯救中国足球,要不尝试一下DDD事件风暴?

拯救中国足球,要不尝试一下DDD事件风暴?

时间:2024-07-13 11:25:33浏览次数:14  
标签:建模 事件 文章 足球 张逸 风暴 拯救 DDD

DDD领域驱动设计批评文集

做强化自测题获得“软件方法建模师”称号

《软件方法》各章合集


张逸老师写了新文章《领域建模的常见问题及解决方案》,我来谈一谈对这篇文章的感想。

(1)文章一开始,张逸老师大大地赞扬了事件风暴:

图片

图1 摘自《领域建模的常见问题及解决方案》

张逸老师说,事件风暴是主流的建模方法,参与者交头接耳,大声讨论。

看来,霍金、陈景润是没有资格的了。

大家如果感兴趣,可以找来事件风暴的始作俑者Alberto Brandolini写的书看看,书尚未写完(大量的%、留白和FIXME),但已经收费了。

书中大量篇幅讨论怎么拉人,怎么布置环境,怎么开会讨论,然后,Duang的一声,模型就出来了?

把里面涉及软件的内容抹掉,用于中国足球也未尝不可。

怎么拉人,怎么布置环境,怎么开会讨论,然后,Duang的一声,国足就赢球了。

这和一些敏捷“软件开发”的培训很相似,一帮软件开发人员聚在一起拼玩具、搬气球。这些内容同样适用于保险推销员、美发店技师......。比起抓耳挠腮思考软件的复杂性,这样的培训简直太愉快了!

我在《软件方法》第1章中曾评价过这样的现象:

图片

图2 摘自《软件方法》第1章

(2)张逸老师所给的事件风暴示例很有讲究

图片

图3 摘自《领域建模的常见问题及解决方案》

这个图跟我们平时在各种DDD文章中看到的事件风暴不太一样。

平时在DDD文章中出现的事件风暴如图4,摘自最近看到的一篇公众号文章:

图片

图4 摘自一篇公众号文章

★并非我故意不给链接。当时只下载了这张图,不记得文章标题。尝试用关键词“DDD”结合图上的某些词搜公众号,没找到含有该图的文章。了解的读者可在评论帮我补上。

这个图很符合我对领域驱动设计产出物的评价:投资少、见效快、产量高、仪式感十足。

*大量的同名黄贴纸:产品运营人员、系统、买家……

*一一对应,蓝色有“添加商品”,棕色的就有“商品已创建”;蓝色有“编辑库存”,棕色有“商城库存已编辑”……

★这样的一一对应,容易让人产生“状态和事件本质相同”的错觉,参见《评“状态和事件本质相同”》《关于“评状态和事件本质相同”的6个疑问》

*巧妙换词,“添加商品”对应的是“商品已创建”,而不是“商品已添加”,把“创建”换成“添加”,给读者带来新鲜感。

*巧妙增减词,“编辑库存”对应的是“商城库存已编辑”,增加了“商城”二字,带来了仪式感。当然,也可以反过来理解,“商城库存已编辑”是全文,“编辑库存”减了“商城”二字,带来了仪式感。

通过这样的一些技巧,整张图一下子就丰满了,用很少的时间和思考工作量,刷出很大的内容。

张逸老师所给出的“事件风暴”图3,和常见的图4长得不太像,图3完美地避开了刚才我所说的图4的问题。

图3更像是一个“系统用例图”,我把其中一部分用UML用例图画出来,读者可以对比一下:

图片

图5 把图3变成用例图

这些“用例”怎么来的,估计也很玄妙,好像大家一头脑风暴就有了,再加上CRUD(新建、查询、修改、删除)四件套,整个工作量一下就丰满了。

这样的“方法”怎能不爱?

(3)接下来的内容,怎么没有“事件风暴”的影子了?

张逸老师的文章一开始就说事件风暴怎么怎么好,接着往下看文章的内容,却不再提事件风暴了,开始批评拍脑袋建模和随意建模,强调要固化,要严格。刚才说的“释放自己”呢?

内容上的问题,例如把各种各样的建模都叫“领域建模”,还有“分为三个阶段”然后又说“迭代建模”……这些我之前写的文章已经批评过,以后有机会再详谈。

仅从形式上看,所有的图形看起来都很精致,糊墙呢?贴纸呢?

图片

一个解释可以是这样:

不再吹捧“事件风暴”是“建模方法”,而是降级成“获取建模素材”的方法,涉众爱怎么释放自己都行,收集素材嘛。该建模的时候,必须严格按照步骤走。

就算降级,也还是有问题。

对于“获取建模素材”而言,所谓的“事件风暴”,其实就是把具有不同利益的涉众同时集中到一个地点来获取素材。如果认真学习过前人关于需求的书籍和文章,会知道,这样的方式并不好。

标签:建模,事件,文章,足球,张逸,风暴,拯救,DDD
From: https://blog.csdn.net/rolt/article/details/140328371

相关文章

  • 解码Python字符串:拯救失落的字符世界!
    一、字符串的定义在Python中,字符串可以用单引号('')或双引号("")括起来定义。例如:s='HelloWorld!'print(s)输出:HelloWorld!你还可以使用三重引号('''或""")来定义多行字符串。但大多数时候三重引号用来注释文档例如:s='''HelloWorld!''&#......
  • python 识别图片验证码/滑块验证码准确率极高的 ddddocr 库
    前言验证码的种类有很多,它是常用的一种反爬手段,包括:图片验证码,滑块验证码,等一些常见的验证码场景。识别验证码的python库有很多,用起来也并不简单,这里推荐一个简单实用的识别验证码的库ddddocr(带带弟弟ocr)库.环境准备python版本要求小于等于python3.9版本pip安装pipin......
  • BP插件暴破验证码实战流程(BP+captcha-killer-modified+ddddocr)
    含有速成版本+工具介绍及问题=保姆级版一、验证码破解流程:BP插件暴破实战流程如下:1、下载安装插件captcha-killer2、启动本地验证码识别服务ddddocr --codereg.py3、抓验证码的包,发送到插件4、配置识别服务模板5、抓登录的包,payload选插件,单线程本次使用到工具如下......
  • 足球预测的诀窍:AI智能分析软件
    一、前言足球毫无疑问是一项风靡全球的运动,即使是在被疫情影响的2020年,欧洲杯赛事依旧有着52.3亿的观众观看,而本届2024年的欧洲杯更是有可能刷新欧洲锦标赛总观众人数记录。而对于球迷来说,除了观看比赛,预测比赛结果也不失为一种乐趣,由于足球赛事受到各方面因素的影响,个人难免......
  • 足球预测软件,AI技术的又一大应用
    一、引言足球,这毫无疑问是备受全球喜爱的运动项目之一。围绕这一运动,世界人们陆续举办了世界杯、欧洲杯、欧冠等风靡全球的盛大赛事。随着欧洲杯等赛事的开幕,预测比赛胜负也成为了广大球迷的爱好,但足球赛事一直以胜负难料著称,不过,随着AI人工智能技术不断发展,足球的不可预测性......
  • AI足球预测真的靠谱么?欧洲杯能否被预测?
    一、引言1.AI足球预测的背景和现状:在当前欧洲杯赛事中,AI的面孔已经屡见不鲜了,AI裁判、AI广告乃至AI观赛都已不足为奇。而在其中,AI足球预测又是否有可能呢?。通过收集和分析大量的足球比赛数据,如球队阵容、历史战绩、球员状态等,再结合先进的机器学习算法,AI足球预测模型能够对比......
  • 如何使用 Services.AddDistributedMemoryCache
    参考资料:https://www.cnblogs.com/RainFate/p/16920591.html AI生成:在.NETCore中,Services.AddDistributedMemoryCache()方法用于注册分布式内存缓存。这是一个内存中的缓存解决方案,适用于需要在多个服务器或服务之间共享缓存数据的分布式系统。如何使用AddDistributedMemory......
  • 基于springboot足球社区管理系统万字文档PPT源码分享
    前言......
  • CXL:拯救NVMe SSD缓存不足设计难题-2
    LMB提出了基于CXL协议的内存扩展框架和内核模块。该方案利用CXL内存扩展器作为物理DRAM源,旨在提供一个统一的内存分配接口,使PCIe和CXL设备都能方便地访问扩展的内存资源。通过这个接口,NVMe驱动和CUDA的统一内存内核驱动可以直接高效地访问CXL内存扩展器,让SSD和GPU设备能够像使......
  • COLA架构初始化DDD项目
    使用COLA脚手架初始化项目实战代码:https://gitee.com/XuXiaoCong/cola-springboot-demoCOLA项目地址:https://github.com/alibaba/COLABiliBili视频创建项目使用COLA脚手架(Maven)创建COLA项目DgroupId:公司/组织名称DartifactId:项目名称Dversion:版本号Dpackage:包路......