当前位置: 首页 > news >正文

[答疑]DDD伪创新哪有资格和仿制药比

DDD领域驱动设计批评文集

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

《软件方法》各章合集


远航 2025-1-24 10:40

最近的热门话题仿制药,想到您经常批评的伪创新,这两者是不是很像?

UMLChina潘加宇

伪创新哪有资格和仿制药比。

仿制药的定义:

通用名药物,也称学名药、非专利药、仿制药。原始药品的专利权到期后,通用名药物才得以销售。因为通用名药物的化学活性成分与原始药品相同,所以前者的医学特性被认为与原始药品等效。在某些特征上,例如制造过程、药剂剂型、赋形剂、颜色、味道、和包装,会有所不同。

仿制药是有药效的真药,国内厂商如果想要认真仿制,是可以做出和真药效果类似的仿制药的。之所以挨骂,可能是为了压缩成本,没有好好仿制而已。

伪创新是无效的药。他们根本没有好好去研究真药——当然,也用不着,而是以极低成本炮制一些“简单”、“接地气”的无效药,大量精力投入到盘外招上。

以前几年的新冠为例: 

图片

切换到软件开发。

如果有一位同学认真研究了《软件方法》和我的所有资料(或其他非伪创新的严谨方法学),熟练掌握之后,自立门户开展和我相似的建模课程。这个是仿制药。

伪创新圈子不会去研究前人已有的知识,大多数情况下靠自己“悟”或者封闭圈子“讨论”,所以“悟”出来的内容很多是错的、有害的,或者是几十年前已经出现的知识,但伪创新圈子却不知道,仍然美滋滋地“我发现”、“我领悟到”。

但是,就是这样的东西非常“接地气”,因为很多开发人员也是这样的,不喜欢学习,什么都靠自己“悟”,两个脑电波就对上线了。

关于“接地气”,前一段时间写的《领域驱动设计拆分系统和“大道至简”话术》已经做了比较详细的剖析。

=====以下是扩展=====

根据我这些年对伪创新圈子的观察和接触,归纳出这么几个特点,大家看看身边有没有可以对号入座的:

(1)喜欢创新和造词

动不动发现什么,提出什么,说的每一句话甚至都能当PPT演讲题目。各种造词手法:换词、砌词、加前缀、加后缀……参见《软件方法》第1章。

(2)复读机(念经)

说话也好,写文章发视频也好,一开头就念经“领域驱动设计是解决复杂业务系统的方法学”。

谁告诉你“领域驱动设计是解决复杂业务系统的方法学”了?都是圈子互吹互捧出来的!

DDD属于自己的东西,只是一些零散的心得,如果用原理、原则、模式来套的话,勉强算是模式。

“DDD是分析和设计的一些模式”这个表述勉强可以。其中很多内容既不新、也不深,甚至是错误和倒退的。

更多细节参见文章:

★DDD浮夸,Eric Evans开了个坏头(https://mp.weixin.qq.com/s/fzRG27uyDSWtNN9thi6Lrw)

★领域驱动设计割裂历史,哪里有详细一些的真实历史?(https://mp.weixin.qq.com/s/NmfCoeFp-Qv67JEcMu12CA)

值得警惕的是,圈子营造的这些内容已经大量污染了AI,AI也在跟着念经。

(3)反智

伪创新圈子拒绝去学习知识。稍微复杂一点的知识,他就觉得不接地气,动不动就喊“大道至简”,把“大道至简”歪曲成“简即大道”。这个仍然要看《领域驱动设计拆分系统和“大道至简”话术》。

(4)基础知识缺失

这里的基础知识并不是说UML和《软件方法》,而是说计算机科学和软件开发的基础知识。

在过去二三十年“唯有IT高”的氛围下,以及编程门槛的降低,许多非计算机专业的毕业生纷纷加入IT业,包括我自己。

但这些知识(特别是计算机科学)的系统训练,我是自行一一弥补的,并且这些年来一直持续学习。我自己的经历可以看UMLChina公众号精选(umlchina.com/url/jingxuan.html)的系列文章(位置在页面底部)

而令人惊讶的是,伪创新圈子很多人一些基础概念都分不清楚,但不妨碍他们爱DDD,爱敏捷,甚至到处去布道。更麻烦的是,给他们指出来,辩解是“不要纠结细节”。

参见:为什么要对术语"吹毛求疵"(https://mp.weixin.qq.com/s/a1_UCtZZmCGigyYTivOqdA)

再说一遍,这里的基础知识不是在说UML。

(5)不阅读,爱讨论

这是我感受最深的。

有很多DDD粉丝来跟我讨论。我说,你看看我写的文章,或者把题做一下,就算怀着批判的心态去看或去做题也行啊。他根本看不下去,做不下去的。

或者问我一个问题,我已经很清楚地回答了,写得清清楚楚明明白白。他也不看,明明已经写清楚的问题,又问了好几遍,我只好把刚才那几行字又贴一遍。这是这个圈子的一个很大的问题——缺乏静下心来阅读和思考的能力。

(看视频也属于阅读。也同样有类似情况,截个我视频的图发过来问我,实际上我视频里明明已经讲得很清楚,他不认真看的。)

他们就是爱讨论,因为讨论很热闹,能带来仪式感。他们描述的场景中,很少谈到具体怎么推理怎么思考(事实上他们也不会),而是拉一群“专家”讨论,然后Duang的一下,结果就出来了。

(6)爱输出

随意扫半页纸,就可以输出十倍长度的心得,各种基础知识的缺失,并不妨碍他输出。这也许就是天赋吧!

相关文章:

[答疑]DDD伪创新哪有资格和仿制药比

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 远航 2025-1-24 10:40 最近的热门话题仿制药,想到您经常批评的伪创新,这两者是不是很像? UMLChina潘加宇 伪创新哪有资格和仿制药比。 仿制药的…...

C#,入门教程(05)——Visual Studio 2022源程序(源代码)自动排版的功能动画图示

上一篇: C#,入门教程(04)——Visual Studio 2022 数据编程实例:随机数与组合https://blog.csdn.net/beijinghorn/article/details/123533838https://blog.csdn.net/beijinghorn/article/details/123533838 新来的徒弟们交上来的C#代码&#…...

DIY QMK量子键盘

最近放假了,趁这个空余在做一个分支项目,一款机械键盘,量子键盘取自固件名称QMK(Quantum Mechanical Keyboard)。 键盘作为计算机或其他电子设备的重要输入设备之一,通过将按键的物理动作转换为数字信号&am…...

C++ 堆栈分配的区别

这两种声明方式有什么区别 1.使用 new 关键字动态分配内存 动态分配:使用 new 关键字会在堆(heap)上分配内存,并返回一个指向该内存位置的指针。生命周期:对象的生命周期不会随着声明它的作用域结束而结束&#xff0…...

范冰冰担任第75届柏林电影节主竞赛单元评委 共鉴电影佳作

近日,备受瞩目的柏林电影节迎来了新一届盛事,而华人演员范冰冰将以主竞赛单元评委身份亮相,引发了广泛关注。此前她已担任过戛纳国际电影节、东京国际电影节、圣塞巴斯蒂安国际电影节等众多电影节主竞赛单元评委。作为国际影坛的知名人物&…...

Pandas进行MongoDB数据库CRUD

在数据处理的领域,MongoDB作为一款NoSQL数据库,以其灵活的文档存储结构和高扩展性广泛应用于大规模数据处理场景。Pandas作为Python的核心数据处理库,能够高效处理结构化数据。在MongoDB中,数据以JSON格式存储,这与Pandas的DataFrame结构可以很方便地互相转换。通过这篇教…...

《DeepSeek 实用集成:大模型能力接入各类软件》

DeepSeek 实用集成 awesome-deepseek-integration/README_cn.md at main deepseek-ai/awesome-deepseek-integration 将 DeepSeek 大模型能力轻松接入各类软件。访问 DeepSeek 开放平台来获取您的 API key。 English/简体中文 应用程序 Chatbox一个支持多种流行LLM模型的桌…...

适配Android16

Android16新特性 Android 16带来了许多新特性和改进,提升了系统的流畅度、用户体验和安全性。对于应用开发者来说,适配Android 16可以确保应用在该版本上的兼容性和性能,同时也可以利用其新特性为用户提供更好的服务。以下是Android 16的一些…...

如何用 Groq API 免费使用 DeepSeek-R1 70B,并通过 Deno 实现国内访问

这几天都被Deepseek刷屏了,而且Deepseek由于异常访问量,这几天都不能愉快的和它玩耍了, 我发现Groq新增了一个Deepseek的70b参数的模型, DeepSeek-R1 70B 作为一款强大的开源模型,提供了卓越的推理能力,而 …...

iperf 测 TCP 和 UDP 网络吞吐量

注:本文为 “iperf 测网络吞吐量” 相关文章合辑。 未整理去重。 使用 iperf3 监测网络吞吐量 Tom 王 2019-12-21 22:23:52 一 iperf3 介绍 (1.1) iperf3 是一个网络带宽测试工具,iperf3 可以擦拭 TCP 和 UDP 带宽质量。iperf3 可以测量最大 TCP 带宽…...

Autogen_core: Model Context

目录 示例代码代码解释另一个例子 示例代码 from dataclasses import dataclassfrom autogen_core import AgentId, MessageContext, RoutedAgent, SingleThreadedAgentRuntime, message_handler from autogen_core.model_context import BufferedChatCompletionContext from …...

SpringBoot AOP 和 事务

SpringBoot 整合 AOP 动态代理技术 JDK 动态代理 JDK 动态代理是 Java 自带的一种代理方式。它要求目标类必须有接口,基于这个接口,JDK 在运行时会动态生成一个代理对象。这个代理对象和目标对象就像 “拜把子” 的兄弟,因为它们都实现了相同…...

Ubuntu全面卸载mysql

如果你已经看到whereis mysql输出了与MySQL相关的路径,说明MySQL仍然存在于系统中。要卸载MySQL,可以按照以下步骤操作,确保完全删除所有相关的文件和配置: 1. 停止MySQL服务 首先,停止MySQL服务: sudo …...

android的gradle

资料: GitHub - ChenSWD/CopyGradleInAction: 备份《Gradle IN Action》书中的源码,添加了部分注释 //github上一个开源项目,外加pdf书 Gradle User Manual gradle官网 讲的挺好的博客 Gradle之重新认识Gradle(项目结构、命令行、tas…...

前端开发之jsencrypt加密解密的使用方法和使用示例

目录 RSA密钥生成选项简介 jsencrypt 使用教程 一、安装 jsencrypt 二、使用 jsencrypt 进行加密和解密 1. 创建密钥对 2. 加密数据 3. 解密数据 三、实际应用示例 加密数据并存储到 localStorage 中: 从 localStorage 中读取加密数据并解密: …...

电路研究9.2.5——合宙Air780EP中GPS 相关命令使用方法研究

注:本命令仅适用于合宙 4G CAT1 模块(Air780EG 系列)。 正好,我们使用的Air780EP好像也有4G CAT1模块,好像也属于Air780EG系列吧。 这个例子好像比较少就个。 18.9 使用方法举例 18.1GPS 开关:ATCGNSPWR 这…...

Python标准库 - os (3) 调度策略、系统信息

文章目录 6 调度策略6.1 调度策略常量6.2 访问和设置进程的调度策略 7 系统信息7.1 系统信息7.2 系统配置信息7.3 系统负载7.4 路径相关常量7.5 生成随机字节 os模块提供了各种操作系统接口。包括环境变量、进程管理、进程调度、文件操作等方面。 这里整理了进程调度和查看系统…...

【NLP251】NLP RNN 系列网络

NLP251 系列主要记录从NLP基础网络结构到知识图谱的学习 1.原理及网络结构 1.1RNN 在Yoshua Bengio论文中( http://proceedings.mlr.press/v28/pascanu13.pdf )证明了梯度求导的一部分环节是一个指数模型…...

【漫话机器学习系列】067.希腊字母(greek letters)-写法、名称、读法和常见用途

希腊字母(Greek Letters) 希腊字母在数学、科学、工程学和编程中广泛使用,常用于表示变量、常量、参数、角度等。以下是希腊字母的完整列表及其常见用途。 大写与小写希腊字母表 大写小写名称(英文)名称(…...

2.文件IO

2.文件IO **1. 文件I/O概述****2. 文件I/O函数接口****3. 文件定位****4. 文件描述符与文件流指针的转换****5. 文件I/O与标准I/O的比较****6. 练习与作业****7. 文件I/O与标准I/O的对应关系****8. 其他注意事项****9. 总结** 1. 文件I/O概述 文件I/O:操作系统为了…...

毕业设计--具有车流量检测功能的智能交通灯设计

摘要: 随着21世纪机动车保有量的持续增加,城市交通拥堵已成为一个日益严重的问题。传统的固定绿灯时长方案导致了大量的时间浪费和交通拥堵。为解决这一问题,本文设计了一款智能交通灯系统,利用车流量检测功能和先进的算法实现了…...

【SpringBoot教程】Spring Boot + MySQL + HikariCP 连接池整合教程

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 在前面一篇文章中毛毛张介绍了SpringBoot中数据源与数据库连接池相关概念,今天毛毛张要分享的是关于SpringBoot整合HicariCP连接池相关知识点以及底层源码…...

设计模式的艺术-策略模式

行为型模式的名称、定义、学习难度和使用频率如下表所示: 1.如何理解策略模式 在策略模式中,可以定义一些独立的类来封装不同的算法,每个类封装一种具体的算法。在这里,每个封装算法的类都可以称之为一种策略(Strategy…...

【memgpt】letta 课程1/2:从头实现一个自我编辑、记忆和多步骤推理的代理

llms-as-operating-systems-agent-memory llms-as-operating-systems-agent-memory内存 操作系统的内存管理...

动态规划DP 最长上升子序列模型 合唱队形(题目分析+C++完整代码)

概览检索 动态规划DP 最长上升子序列模型 合唱队形 原题链接 AcWiing 482. 合唱队形 题目描述 N位同学站成一排,音乐老师要请其中的 (N−K)位同学出列,使得剩下的 K位同学排成合唱队形。 合唱队形是指这样的一种队形:设 K位同学从左到右…...

【踩坑】解决Hugging-face下载问题

解决Hugging-face下载问题 问题1:couldnt connect to https://huggingface.co问题2:HTTPSConnectionPool(hostcdn-lfs-us-1.hf-mirror.com, port443)设置hf_transfer加快速度 问题3:requests.exceptions.ChunkedEncodingError: (Connection b…...

Spring AI 在微服务中的应用:支持分布式 AI 推理

1. 引言 在现代企业中,微服务架构 已成为开发复杂系统的主流方式,而 AI 模型推理 也越来越多地被集成到业务流程中。如何在分布式微服务架构下高效地集成 Spring AI,使多个服务可以协同完成 AI 任务,并支持分布式 AI 推理&#x…...

5.3.2 软件设计原则

文章目录 抽象模块化信息隐蔽与独立性衡量 软件设计原则:抽象、模块化、信息隐蔽。 抽象 抽象是抽出事物本质的共同特性。过程抽象是指将一个明确定义功能的操作当作单个实体看待。数据抽象是对数据的类型、操作、取值范围进行定义,然后通过这些操作对数…...

java求职学习day20

1 在线考试系统 1.1 软件开发的流程 需求分析文档、概要设计文档、详细设计文档、编码和测试、安装和调试、维护和升级 1.2 软件的需求分析 在线考试系统的主要功能分析如下: ( 1 )学员系统 (1.1)用户模块&…...

Python NumPy(8):NumPy 位运算、NumPy 字符串函数

1 NumPy 位运算 位运算是一种在二进制数字的位级别上进行操作的一类运算,它们直接操作二进制数字的各个位,而不考虑数字的整体值。NumPy 提供了一系列位运算函数,允许对数组中的元素进行逐位操作,这些操作与 Python 的位运算符类似…...