news 2026/8/21 5:24:14

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

作者头像

张小明

前端开发工程师

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/8/20 12:28:31

儿童睡前故事:LobeChat每天讲不一样的童话

儿童睡前故事:LobeChat每天讲不一样的童话 在无数个夜晚,当孩子依偎在床头,轻声说“妈妈,再讲一个故事吧”的时候,很多家长心里既温暖又无奈——创意枯竭、疲惫不堪,翻来覆去还是那几个老掉牙的情节。而市面…

作者头像 李华
网站建设 2026/8/21 5:24:10

DownKyi终极使用指南:解锁B站视频下载的专业技巧

DownKyi终极使用指南:解锁B站视频下载的专业技巧 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#xff09…

作者头像 李华
网站建设 2026/8/21 20:30:38

AI中文智能教学系统:让技术读懂你的学习需求

在传统中文教学里,“千人一面”的课堂、反馈滞后的作业批改、个性化需求难满足等问题,一直困扰着学习者和教师。而AI中文智能教学系统的出现,正凭借核心技术打破这些壁垒,让中文学习变得更高效、更精准。其实这套系统的核心逻辑很…

作者头像 李华
网站建设 2026/8/21 4:25:36

Linux CFS(完全公平调度器)原理与实现细节全解析(2)

接前一篇文章:Linux CFS(完全公平调度器)原理与实现细节全解析(1) 二、核心概念与关键抽象 2.2 调度实体(sched_entity) CFS的调度基本单位不是传统的task_struct,而是更通用的抽象…

作者头像 李华
网站建设 2026/8/22 0:34:28

LobeChat多模型切换功能实测:自由选择最佳输出

LobeChat多模型切换功能实测:自由选择最佳输出 在今天的大模型时代,你有没有遇到过这样的场景?写一份技术文档时希望用 GPT-4 保证质量,但日常闲聊又觉得成本太高;处理公司内部数据时想调用本地部署的 Llama3 模型确保…

作者头像 李华
网站建设 2026/8/21 17:16:17

JavaScript学习笔记:13.Promise

JavaScript学习笔记:13.Promise 上一篇咱们用“设计图纸”搞定了类的封装与继承,这一篇要攻克JS开发的“异步老大难”——Promise。做前端绕不开异步:请求接口要等服务器响应、加载图片要等资源下载、定时器要等时间触发…… 而在Promise出现…

作者头像 李华