DDD领域驱动设计批评文集>>

《软件方法》强化自测题集>>

《软件方法》各章合集>>

第1章自测题 Part3

7 [多选题]

经常被当作“偷懒庇护所”的说辞有:

A) 软件开发是艺术,艺术是没有道理可讲的

B) 我们敏捷了

C) 建模带来竞争优势

D) 不管用什么方法,把项目做成功就是好方法

答案和解析

答案为ABD,参见第一章内容。

8 [单选题]

以下软件开发名人中,和前央视主持人小崔(崔永元)同龄的是:

A) Martin Fowler

B) Kent Beck

C) Ivar Jacobson

D) Peter Coad

E) James Rumbaugh

F) Grady Booch

答案和解析

崔永元生于1963年2月20日。

 A) 正确选项。

Martin Fowler生于1963年12月18日。

 B) 错误选项。

Kent Beck生于1961年。

 C) 错误选项。

Ivar Jacobson生于1939年9月2日。

 D) 错误选项。

Peter Coad生于1953年12月30日。

 E) 错误选项。

James Rumbaugh生于1947年8月22日。

 F) 错误选项。

Grady Booch生于1955年2月27日。

彩蛋

不止一个人问过我,出这道题目的意义是什么?是Martin Fowler的年龄。

这道题在2013年的《软件方法(上)》第1版就有了,当时的题目是这样的:

图1 《软件方法(上)》第1版截图

距这道题诞生大约5-6年前,有一件事让我印象深刻。Martin Fowler的一位中国同事在搞宣传时,盛赞Martin Fowler,说马大叔这么大年纪了,还是那么活力四射,可是当时Fowler还不到45岁。

也许是Fowler留的胡子重一些,就被说成“这么大年纪”吧,要是那位同学看到哈登,可能就会说,哈大叔这一大把年纪还驰骋NBA。

图2 哈登和Martin Fowler,Fowler的图片摘自2000年5月的martinfowler.com

如果是偶尔口误也就罢了,要是有意无意地把Martin Fowler刻画成“德高望重的老科学家”的形象,那就不好了。

下面几个关于Martin Fowler的描述放出去,可能不少人会在后面全部打勾:

*年纪比刘德华大 □

*软件开发教父 □

*重构之父 □

*创新无数 □

在Bing搜索引擎搜索“martin fowler”,出来的第一项就是:

图3 bing.com搜索结果(2022年8月27日)

可惜,这些都是一些人有意无意、经年累月营造出来的“中国版Martin Fowler”的形象。虽然随着时间流逝,Fowler也快59岁了,慢慢要配得上“老科学家”的形象了,但这些吹嘘至少十五年前就已经开始了。

**********

如果某位普通读者出于崇拜狂吹Martin Fowler,并给他上各种尊号,这是读者的自由。

如果这些夸大来自Martin Fowler所在公司的同事,或者出版Martin Fowler的书的出版社编辑,那就不应该了。

如果是因无知而夸大,那事先本应该做好功课,如果是有意夸大,那……。

Fowler的书和文章,用语还是相当严谨的,风格也比较低调,光是这一点就已经比国内外的敏捷、DDD圈子的大多数“名人”要强。

相比之下,一些相关人士就没那么严谨了,乱上尊号。这种有意无意的造神,反而会损害Fowler的形象,相信这也不是Fowler乐意看到的。

如果进一步波及到公司的形象,那就更不好了。

说到“狼性文化”,您会首先想到哪家公司?

说到“996”,您会首先想到哪家公司?

当说到“造词”、“夸大”时,会不会让人首先想到某家公司?

现在“狼性文化”和“996”已经像蒲公英一样,随着从公司“毕业”的人群飘洒向神州大地,不希望“造词”、“夸大”等风气也一样随着从公司“毕业”的人群四处飘洒。

**********

除了前面内容已经提到的“教父”、“敏捷”、“微服务”,我再列出一些知识点,以供读者在碰到相应的夸大宣传时辨别

☆Fowler不是“重构之父”(我写过文章《Martin Fowler是"重构之父"吗》)。

☆Fowler没赶上UML之前的那一波面向对象方法学浪潮,他的第一本书《分析模式》出版于1996年。

☆也许和个人性格特点有关,Fowler并没有提出什么方法学或符号体系。这是好事。

☆《分析模式》里的符号不是Fowler发明的。

这个地方多说几句:这个俗称“鸦脚(Crow’s Foot)”的表示法最开始叫Barker表示法,是Richard Barker等人1981年在CACI公司开发的,作为SSADM方法学(结构化系统分析和设计方法学)表示法的一部分。后来Barker加入了Oracle,这个表示法被Oracle接纳。

以下是1988年的一篇论文的截屏,上面的表示法就是“鸦脚”:

图4 摘自Structured systems analysis and design method (SSADM), Caroline M Ashworth, 1988

**********

在国内软件界,我和Martin Fowler打交道应该算是很早了,2002年1月,我就邀请他到UMLChina聊天室做了一次交流,交流实录在:https://mp.weixin.qq.com/s/IJnRQhQkx-cPa1ysQCMePQ

图5 2002年1月Martin Fowler交流的聊天室截屏

交流实录的翻译在这里:

http://umlchina.com/xprogrammer/XProgrammer10.pdf

图6 《非程序员》电子杂志截屏

后来,UMLChina还参与了Fowler的《企业应用架构模式》和《UML精粹》中译本的工作。

**********

最后,马大叔不姓马,他姓福。

图7 2012年央视节目截屏

为什么要考Martin Fowler的年龄-《软件方法》自测题解析014相关推荐

  1. 视频教程-2020软考软件设计师-上午真题解析视频课程-软考

    2020软考软件设计师-上午真题解析视频课程 河北师范大学软件学院优秀讲师,项目经理资质,担任操作系统原理.软件工程.项目管理等课程教学工作.参与十个以上百万级软件项目管理及系统设计工作.在<计 ...

  2. 《软件方法》自测题解析011-梅西和帕瓦罗蒂

    DDD领域驱动设计批评文集>> <软件方法>强化自测题集>> <软件方法>各章合集>> 第1章自测题 Part3 1 [单选题] UML三友 ...

  3. 2023华为软件精英挑战赛赛题解析及baseline(C++实现)

    一年一度的华为软件精英挑战赛又开始了,今年的题目感觉比以往更难些.因为不仅把数据都给你了,连判题器都给你了. 任务介绍 题目描述大概内容如下: 在一张50m*50m的地图上,分布着许多固定的工作台和可 ...

  4. “软件开发教父” Martin Fowler 从业 40 年最想说这两个字!

    作者 | 异步社区 本文经授权转载自异步社区(ID:epubit) Martin Fowler,世界级软件开发大师,敏捷开发的开拓者和创始人全球知名的面向对象分析设计.UML.模式等专业领域的领头羊, ...

  5. 世界级软件开发大师Martin Fowler这三本书经典书你都读过哪一本?

    马丁·福勒(Martin Fowler),世界级软件开发大师,ThoughtWorks首席科学家.他是一位作家.演说者.咨询师和泛软件开发领域的意见领袖.他致力于改善企业级的软件设计,对优秀的设计以及 ...

  6. 对话软件大师Martin Fowler:进化型设计

    进化型设计 本文Martin Fowler讨论了计划型设计和进化型设计的区别,揭示了着眼于解决表象问题可以使开发者发现本质问题,并主张好的设计工作不会降低工作效率. 计划型设计和进化型设计 Bill ...

  7. Martin Fowler 经典软件著作合集

    Martin Fowler的经典大作,英文版. [Addison-Wesley Professional] 分析模式 可复用的对象模型 [Addison-Wesley Professional] An ...

  8. 什么是依赖注入——板砖拍Martin Fowler

    今天yqj2065用板砖,拍一下Martin Fowler的<IoC容器和依赖注入模式>(Inversion of Control Containers and the Dependenc ...

  9. 敏捷之父Martin Fowler作序推荐《演进式架构》

    本文摘自<演进式架构>推荐序 长久以来,软件行业都奉行这样一个理念:在开始编写第一行代码前就应该完成架构开发.受到建筑行业的影响,人们认为成功的软件架构在开发过程中不需要修改,而且重新架构 ...

最新文章

  1. LeetCode 所有题目总结
  2. 消息队列面试经典十连问
  3. windows下常查看端口占用方法总结
  4. python比较好的书籍推荐-推荐几本2019年初学者学习Python最佳书籍!
  5. 考前自学系列·计算机组成原理·IEEE 754 单精度浮点数和真值之间的转化
  6. 状压dp之二之三 炮兵阵地/玉米田 By cellur925
  7. Github带来的不止是开源,还有折叠的认知
  8. 纹理和基元_Java的精妙之处,包括基元和变量参数数组
  9. mysql一些常用操作_表的一些常用操作_MySQL
  10. Sql Server函数全解二数学函数
  11. 自然场景人脸检测技术实践
  12. 去除ring3层的Debug标志
  13. 安装Baidu Sitemap Generator插件显示“该插件没有有效的标题”
  14. 海量图片上传及存储方案
  15. linux企业版as,Redhat 企业版 LINUX AS5.0 下载地址
  16. SQL Server manager studio(SSMS)安装教程
  17. 百度信息流推广oCPC调研
  18. SSL/TLS协议详解(三)——证书颁发机构
  19. 数据结构:链表逆序输出
  20. Vue中的@blur和@focus事件

热门文章

  1. Layabox引擎用HTML5还原3D端游
  2. 服务器系统意外关机 id41,Windows内核事件ID 41.系统已重新启动,无需首先关闭 | MOS86...
  3. 巨磁阻抗GMI磁传感器模组选型推荐
  4. UWB定位基站铺设原则简析
  5. kubeadm部署Kuberentes-v1.23.1的集群(Wmware环境)
  6. Ubuntu+KVM+Openstack搭建私有云平台
  7. zookeeper的zab协议工作原理
  8. Request header is too large错误
  9. 抛掷式侦查机器人_侦察机器人的研究现状
  10. Linux 音频设备驱动(宋宝华书)