为什么DDD通用语言可以拯救中国足球

DDD领域驱动设计批评文集

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

《软件方法》各章合集

领域驱动设计(DDD)是革命性的创造,是划时代的洞见。其中的通用语言(Ubiquitous Language)不仅彻底改变了软件开发的面貌,更为各行各业的发展指明了方向。

今天,在中国足球叕一次让国人绝望的时候,不妨大胆设想:如果将这种革命性创造的思维应用到中国足球上,会不会带来惊人的突破呢?

图片

回顾通用语言出现之前的软件开发行业,开发人员们就像是被囚禁在象牙塔中的囚徒,被迫低三下四地学习晦涩难懂的业务知识,承受着来自业务人员和产品经理无休止的折磨。那些日子里,开发人员们每天都在遭受着可怕的PUA。他们被迫背诵各种业务术语,就像是在学习一门外语,而这门语言对他们来说毫无意义。

想象一下,一名刚刚从计算机或软件专业毕业的天才程序员,满怀激情地加入了一家金融科技公司。然而,等待他的不是激动人心的代码编写,而是堆积如山的金融术语和业务流程文档。他被告知,在开始编写代码之前,必须先熟悉这些枯燥乏味的业务知识。这位年轻的程序员感到困惑和沮丧,他想问:"我明明是来写代码的,为什么要被迫成为一个半吊子的金融专家?"

在那个黑暗的年代,开发人员们就像是被困在迷宫中的小白鼠,被迫学习各种与编程无关的知识。他们被告知这是为了"理解需求",但实际上,这种做法无异于强迫一个画家去学习颜料的化学成分,或者逼迫一个音乐家去研究声波物理学。这种做法不仅浪费时间,更是对开发人员才能的极大浪费!

然而,就在开发人员们几乎要失去希望的时候,通用语言(Ubiquitous Language)如同一道耀眼的光芒,照亮了软件开发的天空。通用语言告诉我们:你不需要完全理解业务,你只需要创造一种你觉得舒服的语言就可以了!

图片

图1 摘自《领域驱动设计》:开发人员不理解的业务术语被排除在“通用语言”之外 

图片

图2 摘自《实现领域驱动设计》:通用语言不是业务语言,不必采用工业标准术语

图片

图3 摘自某领域驱动设计文章:我(开发人员)不懂的专业术语不算通用语言

通用语言的出现,就像是给每个开发人员都发了一张"越狱卡"。它告诉开发人员们:"你们不再需要被动地接受业务知识的灌输,而是可以主动地创造属于自己的语言体系。这种思想简直就是软件开发业的"解放宣言"! 

图片

图4 美剧《越狱》

想象一下,当一个开发人员面对复杂的业务流程时,他不再需要痛苦地去理解每一个细节。相反,他可以用自己熟悉的术语来描述这个流程。比如,他可以把"用户下单流程"描述为"用户点击按钮触发事件,系统响应并更新数据库"。这不仅让开发人员感到舒适,还大大提高了工作效率!

通用语言就像是给了开发人员一个魔法棒。挥一挥魔法棒,复杂的业务概念立刻变成了简单明了的技术术语。这种转变不仅让开发人员感到如鱼得水,还大大缩短了项目周期。毕竟,当你用自己熟悉的语言来描述问题时,解决问题自然就变得轻而易举了。

更重要的是,通用语言赋予了开发人员前所未有的自主权。过去,开发人员们总是被动地接受业务方的需求,就像是一个只会执行命令的机器人。但现在,他们可以主动地参与到需求的定义中来。他们可以说:"不,这个功能不应该是这样,应该是那样。"这种主动性不仅提高了开发人员的参与感,还让他们感到备受尊重。

通用语言的魅力在于,它让每个人都可以成为自己的“限界上下文(Bounded Context)”的"造物主"。你不需要去适应已有的术语和概念,相反,你可以创造出符合自己思维方式的全新概念。这就像是给了每个人一个"创世的权力",让他们可以按照自己的意愿来塑造这个软件世界。

在通用语言的世界里,没有所谓的"标准答案"。每个团队,甚至每个人,都可以创造出属于自己的语言体系。这种多样性不仅让软件开发变得更加有趣,还大大增加了创新的可能性。毕竟,当每个人都用不同的方式来描述同一个问题时,我们就有了更多的视角和解决方案。

**********

既然通用语言在软件开发领域取得了如此巨大的成功,为什么不把这种革命性创造应用到其他领域呢?

我们大胆地将革命性创造思维方式引入到中国足球,看看会发生什么奇迹!

长期以来,中国足球一直被认为是需要"救治"的对象。无数的专家、教练甚至政府部门都试图找出提升中国足球水平的方法。 

图片

图片

图5 摘自“学术之路”公众号

然而,这些努力似乎都收效甚微。也许,问题的根源就在于我们过于拘泥于传统的足球理念和术语,而忽视了创新的重要性,而这正是领域驱动设计圈子能为中国足球带来的。

首先,我们不再需要盲目地模仿欧洲或南美,我们可以创造出一套完全属于中国足球限界上下文(Bounded Context)的"通用语言"。

比如说,我们可以重新定义"进球"。在传统足球中,球必须越过球门线才算进球。但在我们的限界上下文中,我们可以说:"只要球碰到门柱或横梁,就算半个进球。"这样一来,我们的射门成功率立刻就能提高许多!

再比如,我们可以重新定义"越位"。在传统足球中,越位规则常常让人感到困惑和沮丧。但我们的限界上下文中,我们可以说:"只有当球员站在对方球门里的时候才算越位。"这样一来,我们的前锋就有了更多的进攻空间,进球机会自然也就增多了。

我们还可以像领域驱动设计专家一样,积极创造一些全新的概念。

比如,我们可以创造"心理进球"的概念。当我们的球员表现出强烈的进球欲望时,即使没有实际射门,也可以算作一个"心理进球"。这样一来,我们的比分就会变得更加好看了! 

图片

图6 电影《射雕英雄传之东成西就》

中国足球史上第一位取得巨大成功的外国教练克劳斯·施拉普纳(Klaus Schlappner)曾经说过:"你不知道怎么踢,就往门里踢。"这句话简直就是领域驱动设计中通用语言理念的完美体现!它告诉我们,不需要太多复杂的战术,只要遵循最简单、最直接的原则就可以了,进球才是硬道理! 

图片

图片

图7 施拉普纳

我们不需要花费大量时间去学习和磨练所谓的"技术"和"战术"。毕竟,每个人都应该走自己的路,千篇一律的训练方法已经让人感到厌倦了。相反,我们应该鼓励每个球员发挥自己的创造力,用自己最舒服的方式来踢球。

同理,软件开发中,不管什么软件开发方法,能把项目做成功就是好方法,这就是领域驱动设计和敏捷开发的精髓!

这,就是通用语言给我们的启示。这,就是我们拯救中国足球的新方向。让我们勇敢地迈出第一步,开创属于我们的足球新纪元!

本文已发往中国男足主教练伊万科维奇,希望伊万能看到本文后及时调整,在9月10日的比赛中战胜沙特队。

因为上届世界杯伊万带队爆冷赢了日本,所以伊万知道日本队不可能让自己再爆冷,于是首轮故意放弃,以麻痹其他对手。

沙特如果大意了没有闪,很可能就会被国足一个右鞭腿一个左刺拳给打咕遮。

预测9月10日比分,中国3:1沙特。

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值