首页 > 其他分享 >为什么DDD通用语言可以拯救中国足球

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

时间:2024-09-14 11:49:33浏览次数:3  
标签:通用 语言 开发人员 进球 足球 我们 拯救 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沙特。

标签:通用,语言,开发人员,进球,足球,我们,拯救,DDD
From: https://blog.csdn.net/rolt/article/details/142044494

相关文章

  • hackmyvm靶机拯救者模式解决分配不到ip的问题 转载
    https://www.cnblogs.com/jason-huawen/p/16851113.html关于拯救者模式的详细介绍介绍......
  • 为什么需要DDD
    1、为什么贫血模型在目前国内开发市场当中很流行?(1)、大多数的时候,业务相对简单,如基于数据库表,SQL语句,结合代码当中进行CRUD就可以完成;(2)、充血模型在开发的时候,需要更多的思考以及前瞻性,全局性的思考,而大多数开发人员缺乏这样的思考习惯;(3)、开发人员大多存在对旧有......
  • 当谈论DDD到底在谈论什么
    你好,今天简单写写DDD领域驱动设计。字少总结版什么是DDD:DDD是将业务领域概念和规则映射到软件设计的方法,能打通产品、设计、编码人员的信息壁垒。DDD、ER和UML三者关系:三者在软件开发中相互关联但侧重点、范围和目的不同,DDD可结合UML,ER作用可弱化。DDD的核心概念有哪些:包括事......
  • 如何利用大数据与AI技术来进行足球预测?
    福尔特博·普利迪特曾经说过:“球无假球,盘皆假盘,信息的不对称才是造成贫富差距的根本原因。”在过往,数据信息的缺乏一直都是制约足球预测的掣肘,但现如今我们迎来了大数据与AI的时代,我们又能否借此来解决足球预测的困境呢?......
  • 能“踢足球”?人形机器人公司“加速进化”完成亿元Pre-A轮融资
    9月12日,人形机器人领域的创新企业“加速进化”宣布,近日已成功完成亿元级别的Pre-A系列轮融资。本轮融资由多家知名投资机构共同出资,包括彼岸时代、民银国际、中关村科学城以及iCANX基金,同时,老股东英诺天使也继续跟投。融资所得将主要用于加速通用本体的打造和提升软件开发能力,......
  • AIAutoPrediction足球数据分析软件工具安装教程(附带操作截图)
    文章目录前言一、AIAutoPrediction是什么?二、AIAutoPrediction能做什么?即时大小球预测即时亚盘预测大小球、亚盘初盘分析三、安装教程1、软件下载2、打开安装包,进行软件安装3、选择安装目录4、执行安装5、安装完成6、开始使用总结前言在绿茵场上,每一脚传球、每一......
  • 足球大小球及亚盘数据分析与机器学习实战详解:从数据清洗到模型优化
    本文将深入探讨Java在数据分析和机器学习中的实际应用,涵盖数据预处理、模型训练和优化等方面的内容。通过详尽的代码示例,帮助读者掌握相关技术并应用于实际项目中。数据分析、初盘数据、走地数据、分析管理系统、AI大模型预测系统、全自动化下单系统、智能娱乐竞猜系统-乐彩云......
  • 基于SpringBoot+Vue+MySQL的足球俱乐部管理系统
    系统展示用户前台界面管理员后台界面系统背景  如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统足球俱乐部管理系统信息管理难度大,容错率低,管理......
  • 马老师浑元十三刀本质是DDD程序=算法+数据结构:浑元形意太极的本质是领域驱动设计(02)
    浑元形意太极的本质是领域驱动设计(01)在软件开发的旅程中,领域驱动设计就是我们的指路明灯。它照亮了我们前进的道路,驱散了迷茫的阴霾。有了领域驱动设计的指引,我们不再畏惧未知,不再害怕挑战。我们知道,无论前方有多么艰难的障碍,都有领域驱动设计为我们指明方向。领域驱动设计就......
  • 《足球经理2018》启动失败?深度解析为何《足球经理2018》会报GfxCore.dll错误及解决方
    《足球经理2018》启动失败并报告GfxCore.dll错误是一个常见的问题,这通常与游戏的图形处理相关文件缺失或损坏有关。下面是对这一问题的深度解析及解决方法:深度解析1.文件缺失或损坏:GfxCore.dll是《足球经理2018》及其相关图形处理功能所依赖的动态链接库文件。如果该文件......