news 2026/6/23 19:48:44

[漫画]《软件方法》逃避思考的伪创新舒适区

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[漫画]《软件方法》逃避思考的伪创新舒适区

DDD领域驱动设计批评文集

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

《软件方法》各章合集


我把《软件方法》第1章的内容交给Nano Banana Pro,让它生成漫画。AI生成的漫画如下:

原文如下:

1.2.1 建模工作流ABCD

要做好需求和设计,从而低成本制造出好卖的系统,并非喊喊口号就可以,需要静下心来学习和实践一些必要的建模技能。

软件开发是增量、迭代进行的,每一个迭代周期都需要依次思考这么几个事情:

A-业务建模(business modeling)——定位需要改进的目标组织以及该组织接下来最需要改进的问题。

B-需求(requirements)——描述为了改进组织的问题,待引入的信息系统必须具有的整体表现。

C-分析(analysis)——提炼为了满足功能需求,待引入的信息系统需要封装的核心域机制。

D-设计(design)——考虑质量需求和设计约束,将核心域机制映射到选定非核心域上实现。

本书将以上ABCD称为软件开发的4个建模工作流。

每一个软件项目,只要不是故意摆烂,开发团队都会有A→B→C→D的推理过程——也许无意识、隐式地做,也许有意识、显式地做;也许推理过程严谨合理,也许推理过程漏洞百出;也许分成很多人来做,也许一个人做;推理产物的形式也许是UML模型,也许是其他……

很多开发人员只有D的知识。当岗位发生变化,需要他做A、B、C的工作时,按道理应该去认真学习A、B、C的技能才对。

可惜,很多人并不愿意走出自己的舒适区,甚至还会有意无意地把其他人拉到自己的舒适区。

例如,在和涉众讨论需求时,频频蹦出一些“技术潮词”,目的就是以自己的“所长”来碾压涉众,从而掩盖自己业务建模(A)和需求(B)技能的不足。

例如,在讨论核心域的类模型(C)时,动不动就谈到如何实现(D)或者质疑“会不会有性能问题”(D),从而掩盖自己抽象能力的不足。

于是,各种投其所好的伪创新就登场了。

有的伪创新极力贬低A、B、C的重要性,通过“砸烂一切枷锁”来吸引热血青年。例如,想那么多有啥用,最后不是还得写代码?张嘴就是Linus Torvalds的“Talk is cheap. Show me the code.”。

后来,“发明家”及其追随者慢慢发现砸烂一切是不行的,追随者的信念开始动摇。于是,伪创新不再贬低A、B、C,而是从D来臆想A、B、C,得到的A、B、C“方法学”非常“简单易学”,让只了解D的开发人员感觉“很受用”。

例如,深入第一线调研各类涉众的利益很麻烦。有办法,摆一个“现场客户”在旁边,开发人员就可以心安理得坐在电脑前面编码,有问题就推给“现场客户”。

例如,认真学习领域知识的各种概念和术语很麻烦。有办法,开发人员可以按照自己的理解创造一套“通用语言”。

伪创新往往并不会直接说自己简单易行,而是会说自己很高深。宣传中往往带有“艺术”、“禅”、“道”等字眼,有意无意地朝宗教、艺术、玄学方向引导——比起枯燥的数学理论和逻辑推理,这些东西可是太好下嘴了。还有一个很大的优势,一些媒体人听到“艺术”、“禅”、“道”等字眼就亢奋,自觉地加入到宣传伪创新的队伍中。

开发人员一开始以为很难很深奥,上手一学,发现其实不难!可以说是:投资少,见效快,产量高,门槛低,而且仪式感十足。最妙的是,不用走出舒适区辛苦学习,就得到了“方法学”,这可太符合只了解D的开发人员的胃口了!开发人员立刻有捡到了便宜的感觉,心中豪气顿生——不愧是我!别整三岁的,有能耐你整四岁的!

伪创新还会声明“领域驱动设计不是银弹”之类,也是为了进一步塑造形象。我都诚实地说了我不是满分,所以我前面塑造的90分的形象应该是真的。DDD

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 18:36:38

[漫画]喜欢自编图形的遮羞布

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 我把《软件方法》第1章的内容交给Nano Banana Pro,让它生成漫画。AI生成的漫画如下: 原文如下: 1.3.2.3 自编图形 vs. 标准图形 事实上&#xff0…

作者头像 李华
网站建设 2026/6/23 10:48:52

LobeChat能否支持星际语言翻译?外星文明假说沟通模型构建

LobeChat与未知语言的对话:当开源框架遇见星际沟通假想 设想这样一个场景:深空探测器接收到了一段来自半人马座α星方向的复杂信号,其结构既非随机噪声,也不符合任何已知自然规律。科学家们将其转录为可分析的数据流——这或许不是…

作者头像 李华
网站建设 2026/6/23 16:59:02

软考 系统架构设计师系列知识点之面向服务架构设计理论与实践(16)

接前一篇文章:软考 系统架构设计师系列知识点之面向服务架构设计理论与实践(15) 所属章节: 第15章. 面向服务架构设计理论与实践 第8节 SOA的设计模式 15.8 SOA的设计模式 15.8.1 服务注册表模式 服务注册表(Service Registry)主要在SOA设计时段使用,虽然它们常常也具…

作者头像 李华
网站建设 2026/6/23 16:51:40

J2EE技术及应用实验及报告(黑龙江大学)

一、实验代码百度网盘链接: https://pan.baidu.com/s/1RhiVh6T6eXSJpHvSPcRycw?pwd9999 提取码: 9999二、实验报告 实验一一、实验名称实验1 WEB基础二、实验目的熟悉运行环境的安装和使用;了解和掌握基本的HTML标签和JavaScript语法。三、实验类型验证型四、实验…

作者头像 李华
网站建设 2026/6/23 16:57:02

AI农情数据要素服务平台:让种地靠数据,丰产不盲目

种地的人都懂,“凭老经验”种地太被动:旱了涝了难预判,施肥浇水靠估摸,病虫害要等看出苗头才敢治,最后要么减产要么白扔农资钱。核心问题就一个——没靠谱的依据,全靠“猜”。而AI农情数据要素服务平台&…

作者头像 李华
网站建设 2026/6/23 16:54:30

JavaScript学习笔记:14.类型数组

JavaScript学习笔记:14.类型数组 上一篇用Promise搞定了异步任务的“承诺管理”,这一篇咱们来解锁JS处理底层数据的“硬核工具”——类型数组(Typed Arrays)。做前端如果只跟普通数组打交道,那你大概率没碰过“二进制数…

作者头像 李华