[答疑]是不是互联网更适合用DDD
《软件方法》第8章 分析 之 分析类图——知识篇Part1(20211029更新)
阿俊 2021-11-4 13:11
您发的第八章有一个调查一篇DDD文章提到几个类,我留意看过的文章和演讲,是像您说的那样!我还发现作者除了TW公司的人,还有大部分是互联网公司,而且都会提到微服务。我想问您的问题是,是不是互联网更适合用DDD,微服务架构更适合用DDD?
UMLChina潘加宇
你说的这个问题很有意思。我没有统计过你说的作者的情况,不过印象里和你说的差不多,印象最深是“美团抽奖”。
最近几年的DDD宣传主要是由Thoughtworks公司发起,所以Thoughtworks员工或前员工写文章或演讲多很正常。宣传建模是好事。
针对“是不是互联网更适合用DDD”,我说说我的观点:
(1)你有没有发现,“互联网”也“更适合”用“敏捷”。
《软件方法》第8章也提到:
互联网的兴起带来了这样一种系统:这种系统功能很简单,开发这种系统时需要思考的领域逻辑很少,但是这样的系统可以通过互联网让非常多的人使用,问题的关键变成了“如何在大用户量下保持性能”。
很多开发人员就进入了类似的“互联网公司”,开发或维护类似的系统。因为不需要剖析复杂的领域逻辑,开发人员有没有掌握分析的技能已经无所谓,于是,很多打着“敏捷”旗号的“方法”就在这类公司大行其道,导致软件开发人员的分析能力普遍退步。
经常有人和我说,潘老师,敏捷这一套做工厂管理系统之类的可能不太行,但不得不承认,做互联网很管用噢!
当然管用了!
有个巫医发明了一种治疗方法。他坦言,我这个方法对付癌症可能不太行,但对付感冒很管用噢!你不信,找个感冒患者来!
感冒患者找来了,医生让患者躺在一张绘有八卦图案的方桌上,然后绕着患者绕了八八六十四圈(看到没,他也是有一套方法的!),然后对患者说,回去该吃吃该喝喝,五天之内就好了!
果然,患者好了。
医生四处宣传他的治疗方法,由于此方法简单易学,迅速收获了大批粉丝。
更多内容参见我之前写的文章:互联网公司的很多“建模体会”没有价值。
(2)某些“DDD实践”实际上就是另一个“敏捷”
既然以“领域驱动设计”为名,按道理应该是领域逻辑越复杂的系统越需要“领域驱动设计”,对吧?
如果比较领域逻辑的复杂程度,许多“互联网系统”肯定排不上号。“互联网系统”的用户多,而用户多的系统,往往要做减法,功能取公约数。
例如,微信应该是目前用户最多的应用。如果有微商希望微信提供“美化营销话术”的功能,能根据对方的工作性质、性格等美化发过去的信息,让其更容易打动对方……张小龙肯定理都不理。
当然,第三方厂商可以为这些特定人群开发相应的微信小程序,那是另外的应用了。
美团比微信功能更多,领域逻辑更复杂,相应的,用户量没有微信多。如果身体有某种特殊疾病的食客希望美团提供“健康检测”功能,检测所点的外卖是否会恶化食客所患的疾病,美团估计也是不会做的,为了极少数人添加大多数人不需要的功能,不值得。
以上不是说微信和美团的开发用了“领域驱动设计”,而是举例说明用户多的时候,功能的增加是很谨慎的。
而为特定行业,甚至为某个特定行业的某个特定机构的工作定制的系统,往往功能更多、领域逻辑也更复杂。
我去过一家物探公司讲课,公司的同学介绍,一些物探软件或设备是被“卡脖子”的,只能自己研发。
而微信、美团是不会被“卡脖子”的,这样的系统做起来并不难。微信就是模仿的米聊,后来还有易信、来往……。微信的对手们之所以在竞争中落败,原因不是软件开发本身,而是资源、营销等方面。
啰嗦这么多,意思是:
某些“DDD实践”为什么喜欢挑“互联网”下嘴,原因可能和上面所说的某些“敏捷”一样,实际上这副药治不了复杂的病,只好挑感冒病人来治。
从这个角度说,“互联网”(感冒病人)更适合某些“DDD实践”,是正确的。
[答疑]是不是互联网更适合用DDD相关推荐
- 更适合用c语言编程的情况是,不大适合用汇编语言编程,更适合用C语言编程的情况是( )。...
不大适合用汇编语言编程,更适合用C语言编程的情况是( ). 挪威的滑雪运动,不大编语距今约有四千多年的历史,是世界滑雪的故乡. 适合不同平台的点位不一样 整数历史点位对股市有支撑作用,用汇言编C语言编 ...
- 哪些App适合用HTML5开发?
本文转发自:http://www.educity.cn/wenda/11971.html 哪些移动互联网产品适合用HTML5开发? 1.搜索产品 的确,由Android系统定义的移动互联网搜索生态,是 ...
- 什么样的企业适合用 OKR?
首页OKR 什么样的企业适合用 OKR? OKR 是⼀套企业运营管理体系,运营管理通过帮助企业"正确地做事"驱动企业绩效的提升.⽬前,任⾏业.规模.阶段与类型的企业都或多或少⾯临同 ...
- Oracle业务适合用PostgreSQL去O的一些评判标准
标签 PostgreSQL , Oracle 背景 Oracle业务适合用PG去O的一些评判标准: 功能指标 如果评估出来的业务中具备这些特性,非常适合使用PostgreSQL. 1.业务使用的数据类 ...
- 《Total Commander:万能文件管理器》——第2.5节.问题:我适合用TC吗?
本节书摘来自异步社区<Total Commander:万能文件管理器>一书中的第2章,第2.5节,作者 张玉新,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第 ...
- 为什么互联网更容易产生泡沫?
为什么互联网更容易产生泡沫? 为什么互联网更容易产生泡沫?我先举个造汽车的例子:从前期的设计研究:中期的生产投入:后期的产品测试,每个环节都需要投入大量的人力.物力.财力.对于任何一辆汽车的生产而言, ...
- 万向控股肖风:区块链不依赖摩尔定律,发展速度一定比互联网更快
关注ITValue,查看企业级市场最新鲜.最具价值的报道! 本文是万向控股有限公司副董事长.万向区块链股份公司董事长兼总经理.万向区块链实验室发起人肖风在2月28日金融科技海上夜话的演讲.肖风分享了 ...
- 让互联网更快:新一代QUIC协议在腾讯的技术实践分享
本文来自腾讯资深研发工程师罗成在InfoQ的技术分享. 1.前言 如果:你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度,特别是弱网络的时候能够提升 20% 以上的访问速度. 如 ...
- 【互联网人的英语】什么时候适合用“词根词缀法”来背单词?
上一节我们对The Product-Minded Software Engineer这篇文章做了一个背景介绍,今天我们进入这篇文章的正文.我会为你精讲文章的第一段.你可以先自己读一下这段话. 1. P ...
最新文章
- SQL Server 查看identity值的几种方法。
- java 链表中倒数第k个结点
- GPU Gems1 - 2 水刻蚀的渲染
- win10如何修改IP地址
- 编译OSG的FreeType插件时注意的问题
- 菜单黑暗模式UI动画素材模板
- C#中DataRow的初始化
- 【WH】MVC数据分页扩展类
- 文件上传下载--DiskFileUpload
- 易语言静态连接器提取_正确易语言链接器link.exe,使易语言支持静态编译
- 深入浅出理解奈奎斯特(Nyquist)稳定判据
- 用友软件计算机时间格式,如何正确设置系统日期格式?_速达软件_用友,速达,管家婆,微软,金蝶,方正,博世通,数据博士,进销存,财务软件-飞鸿软件帮助中心 -...
- 青春期的我们……妥协…挣扎…惊醒
- 网络会议openmeetings下的openmeetings-util文件分析3
- pwnable.kr wp passcode
- 【MFC】基于OpenCV的魔镜
- 《金融怪杰》读书笔记
- Idea报错[Cannot access com.xxx] 的 [解决办法]
- mysql 初次进入_怎么初次进入mysql?
- windows下配置PPPoE服务器
热门文章
- 【DPDK】dpdk样例源码解析之三:dpdk-l3fwd_001
- Python实例:网络爬虫抓取豆瓣3万本书(5)
- 一文全览神经网络模型
- mistral 工作流组件之二 思维导图
- phpdesigner 7 注册码 注册机 汉化版
- 新闻发布系统 毕业论文
- 跟我学UDS(ISO14229) ———— 0x11(ECUReset)
- matlab mean nan,为什么Matlab运行的结果是NaN呢,急盼解答
- 华电控制科学与计算机学院,华北电力大学(北京)控制与计算机工程学院简介...
- 浅析智慧充电桩云平台的技术设计方案