二十四年前在UMLChina谈本体论-James Odell

DDD领域驱动设计批评文集

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

《软件方法》各章合集


二十四年前啊

2002年,上上个马年。下图是当年的春晚节目,侯耀文还在,郭德纲还没发迹。

图1 2002年春晚节目《马年赛马》

James Odell(Jim Odell)是谁?

下面是Martin Fowler《分析模式》的前言:

图2 《分析模式》2026新译本片段

《分析模式》所使用的方法学和表示法就是James Martin和James Odell的Martin-Odell方法学和表示法。

《分析模式》的新译本用UML类图、序列图、活动图、状态机图复刻了原书的图,不过,新译本的出版已经拖了比较长时间。前一阵,我发了一个视频(https://www.bilibili.com/video/BV1EerQBjE4a/)说了原因,出版的流程现在变慢。我也说了,万一有什么事情出不来,我会怎么做。

和James Odell的交流

北京时间2002年4月26日上午,我们邀请James Odell到UMLChina的聊天室做了一次交流。

当时是在焦点网(smiling.com.cn,不是现在的焦点科技)的聊天室,就是文字交流,没有语音,更没有视频。2002年嘛,我到2002年3月才用上ADSL,即所谓的宽带,之前一直都是Modem拨号上网。

聊天记录在:umlchina.com/Chat/odell.htm

图3 和James Odell的聊天记录

后来我们把这个聊天记录整理翻译,发表在《非程序员》电子杂志上面。《非程序员》是我们办的一个电子杂志,在这里可以免费下载:umlchina.com/xprogrammer/index1.html

图4 《非程序员》2002年5月杂志封面

内页如下,主要的议题还是UML。当时Odell是对象管理组织(OMG)面向对象分析设计专责小组的主席,负责UML 2.0规范的开发。

图5 《非程序员》2002年5月内页

然后Odell提到了本体(ontology):

图6 《非程序员》2002年5月内页

注意Odell所说的"正规数学训练"。

Odell在他的书里面也提到了Ontology,像这本1998年的UML书:

图7 摘自Advanced Object-Oriented Analysis and Design Using UML

注意划线处的Object Constraint Language(OCL),《分析模式》新译本中,大量使用OCL取代了英文原书形式化不足的描述。

我们也针对时事热点(大展鸿图、杨某媛、订婚彩礼)出过很多题来考察OCL,感兴趣的同学可以去自测,参见《软件方法》强化自测题的"分析"部分(umlchina.com/url/examad.html)

图8 2025年热点相关的OCL题目

回顾的缘由

之所以回顾二十四年前的这一段访谈,原因当然是最近爆火的Palantir和本体论。

我不断被人问:

潘老师,你怎么看最近爆火的这个Palantir和本体论?

当然我不能说我坐着看,因为问的人是比较认真地问。

我主要关注两个事情:

(1)有哪些人特别激动地去赞美Palantir或者Ontology,像当年赞美领域驱动设计是革命性的创造、划时代的洞见一样?

(2)我经常批评的DDD圈子,是不又开始借助Palantir或Ontology不断地说"我发现"?关于"我发现"的细节,参见《软件方法》2026版第1章(umlchina.com/url/softmeth.html)

关于(1),根据我每天划划划随意阅读的材料,得到这样的印象:

特别激动地去赞美Palantir或者Ontology的,多为文科生,因为很多人在谈哲学,而不是数学。

什么?我搞错了?你说你是软件专业人士?

不好意思,也许吧,但有没有这样的可能,实际上你就是混迹于软件业的、没有受过Odell所说的"正规数学训练"的文科生?

关于(2),我已经看到了一位我曾多次评点的DDD圈子著名布道师的"我发现":

图9 摘自某微信公众号

"彻底变革"、"如果我们还抱着传统的方法不放"

------太可怕了,也太妙了!正愁着手上的东西难啃学不会,不好摸鱼呢,这就宣告变革了、过时了,这可太及时了!赶紧抛弃过去的包袱,轻松迎接新一轮"创新"。

说"需求是核心本体",但又说"结合AI和领域建模(文中的"零件模")"

------领域建模和需求是一回事吗?是不是跟之前的"业务用例"一样(参见《DDD圈子的"业务用例"》)混淆了两个"业务":反正我在谈需求的时候没有谈"技术"(其实是有的),那可不就是"领域建模"吗?

我这些年持续批评领域驱动设计圈子,就是从这位老师的类似言论开始的,参见:"有传统"和王家卫-《分析模式》漫谈13

本文只是开头,后面我还会针对Palantir、Ontology和领域驱动设计圈子慢慢展开来写一系列的文章。

相关推荐
腻害兔8 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:ERP 企业资源模块,一个轻量级进销存的完整实现?
前端·javascript·vue.js·人工智能·前端框架·产品经理·ai编程
zzzzzz3109 小时前
当用户说「帮我用AI写个淘宝」时,我在想什么——一个独立开发者的 AI 时代奇葩需求大赏
人工智能·程序员·产品经理
腻害兔1 天前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:字典、短信、邮件、通知——后台系统的“基础设施四件套“!
java·前端·vue.js·产品经理·ai编程
腻害兔1 天前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:支付模块 yudao-module-pay,一个让产品经理都看懂的支付中台设计
java·前端·vue.js·产品经理·ai编程
耶耶耶耶耶~2 天前
UML简介
uml
腻害兔2 天前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 认证与权限:RBAC + 数据权限,这套“门禁系统“到底怎么设计的?
java·vue.js·人工智能·产品经理·ai编程
领麦微红外3 天前
FW-D1 vs 迈来芯MLX90614:参数全面对比
人工智能·产品经理
怕浪猫3 天前
不过是做了几年产品经理罢了,我高估了自己
产品经理·产品·资讯
腻害兔3 天前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 框架层:15 个 Starter 到底在干什么?
前端·vue.js·产品经理·ai编程
sunneo3 天前
S18.4AI产品留存与召回——让用户走了还回来(系列收官)
人工智能·产品运营·产品经理·用户运营·用户体验