首页 > 其他分享 >[续]解密广发证券谭德志的“解密DDD”文章

[续]解密广发证券谭德志的“解密DDD”文章

时间:2024-11-21 09:46:19浏览次数:3  
标签:qq 谭德志 weixin 解密 mp https com DDD

解密广发证券谭德志的“解密DDD”文章>>

截屏2

图片

①古语云,修行需道术并重

“古语”的主要论证手段是类比。在软件开发的研讨中正儿八经地以“古语”为论据,子曰什么什么,所以做软件的时候应该什么什么——这是不是合适的,读者可自行判断。

上一篇“解密”文章我已经引用过的:

★《软件方法(第3版)》第1章(umlchina.com/url/softmeth2024.html):

图片

DDD已经在和国学合流。

张逸老师在2022年5月提出了“设计国学”的概念,要把软件设计(不是软件界面)和国学结合起来。

设计国学,软件设计感悟(https://mp.weixin.qq.com/s/Y0fOOQAGNs1ZbNPFipVhMg) 

图片

图片

我在2023年1月就曾预测DDD会和穿越者之友王守仁合流:

从弦理论谈DDD(https://mp.weixin.qq.com/s/FTD1C9SVWxonyYmmLvs5FA)

图片

2024年9月,张逸老师发表《我的领域驱动设计心学》:

我的领域驱动设计心学(https://mp.weixin.qq.com/s/RumFL8PwuPec3qhibD1v_Q)

图片

受DDD圈子启发,我也写了一些文章,表示大力支持。并提出了以下有助于缓解当前就业压力的建议:

国内的程序员数量已经接近1000万,可以按比例为程序员配备软件国学顾问,让文史哲专业的同学也加入到信息化建设的大潮中。

软件开发的山顶是国学和DDD(https://mp.weixin.qq.com/s/1Ff8XghIjWxTzzDPBR6OHg) 

图片

图片

图片

图片

图片

图片

浑元形意太极的本质是领域驱动设计(https://mp.weixin.qq.com/s/CcTJCSs2WIaEX3DVA5i7XA) 

图片

马老师浑元十三刀本质是DDD程序=算法+数据结构(https://mp.weixin.qq.com/s/-MRiHrh5uH4Mo2icIuAU4w)

图片

②分享个人对DDD的独到见解

个人见解 不等于 独到见解。

个人见解是:我说说我的看法。

独到见解是:我说出了大多数人说不出来的内容——盲生,我发现了华点。

另外,“独到见解”一般是称赞别人的——“感谢***的独到见解”,很少有“我说一下我的独到见解”。

当然,以上汉语细节不是本文探讨的主要问题,只是顺便提一下。

③领域模型可成为软件项目通用语言的核心。——《领域驱动设计》. Eric Evans

(1)其实原文不是这样

这句话的原文是:

the domain model can provide the backbone for that common language

领域模型可以为这个共同语言提供骨架

可惜,2005、2010、2016中译本写的都是“核心(core)”。其中2005中译本的锅我要背一大部分。

(2)“通用语言”是个伪创新

我在《软件方法》第8章做了详细的阐述:

★《软件方法(第3版)》第8章(umlchina.com/url/softmeth2024.html): 

图片

图片

注意1998年Catalysis方法这本书,上面划红线的地方:

在Catalysis中,类型图是术语表的核心部分--它们代表着专有术语的词汇表,并明确了这些术语之间的关系。该词汇表可以用于项目的所有相关文档,也可以用在程序代码里。

原文是:

In Catalysis, the type diagrams are the central part of the glossary: they represent a vocabulary of terms, and make plain the important relationships between them. That vocabulary can then be used in all the documents surrounding the project, and in the program code itself.

和Eric Evans的“领域模型可以为这个共同语言提供骨架”是不是很像?

《解密DDD》的作者谭德志要引用“核心”,可能引用这个更合适。

从《软件方法》第1版开始,我就把《UML对象、组件和框架--Catalysis方法》作为推荐书目,当然是推荐读原版“Objects, Components and Frameworks with UML - The Catalysis Approach”,感兴趣的读者可以在认真阅读后,再和DDD圈子的那些产出对比一下。

再看划红线处的“大多数分析者和设计者都很熟悉创建项目词汇表的观念”,说明这是更早时间已经被广泛使用的项目实践。

(3)领域模型呢?他们只是喊口号!

好吧,暂时抛开“通用语言”长得像术语表、“领域模型为这个共同语言提供骨架”长得像“类型图是术语表的核心部分”这些不谈。

关键是,你的领域模型呢?

DDD圈子产出的文献几乎没有合格的领域模型。有个合格的类图、状态机图,或者E-R图也行啊!可惜,没有。绝大多数是词汇的简单罗列:

京东云开发者DDD妙文欣赏(https://mp.weixin.qq.com/s/lU-PSXHTyVORIcUuvelnRw)

图片

图片

DDD通用语言、多尿和尿频-《分析模式》漫谈41

(https://mp.weixin.qq.com/s/HKLpwS-St61WZoyyDiltmA)

图片

Eric Evans这样画是真不懂还是有特别考虑(https://mp.weixin.qq.com/s/TI-rFEuZXLouavZZ1_TBtQ)

图片

这些年我写了那么些文章批评DDD和DDD圈子,其中内容有没有错误呢,大概率应该是有的。

但并没有DDD圈子的人从建模的角度反驳我的文章内容,答案很简单:如果一个人真的有了那个水平,他也就不会相信之前相信的这些东西了。

你的医书是假的(https://mp.weixin.qq.com/s/PbzMuEXhf1iuAWF5n4ezTQ)

图片

★《软件方法(第3版)》第1章(umlchina.com/url/softmeth2024.html):

图片

能指出问题的,是认真研究建模的非DDD圈子同学:

关于《评“状态和事件本质相同”》的6个疑问(https://mp.weixin.qq.com/s/e8XSGrS2bfnnliW34zZnbA)

图片

待续,接下来内容有:

④形成一套共通语言

DDD通用语言掩盖了开发人员无能和懒惰,是一种倒退。

⑤工程人员可能只关注ER图、UML等描述工具

UML我已经说得太多,就单拿E-R图来说。

凡是轻飘飘地就批评E-R图(或类似表示法),想踩着它们出名的,作者大概率没有画过一张合格的稍微复杂的E-R图,只是基于“政治正确”这么轻飘飘地说一下。

如果了解E-R图(或类似表示法)的历史,会知道,DDD圈子根本没有资格批评E-R图,反而是E-R图更有资格把这些批评扣回到DDD圈子头上。

我开始写DDD批评系列文章,就是因为反击一篇类似这样轻飘飘批评UML的DDD圈子文章。

标签:qq,谭德志,weixin,解密,mp,https,com,DDD
From: https://blog.csdn.net/rolt/article/details/143933316

相关文章

  • HarmonyOS Next企业级数据安全防护实战:加解密技术综合应用
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)在企业级数据安全防护中加解密技术的综合应用,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、......
  • HarmonyOS Next加解密算法开发实践与优化策略
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中加解密算法开发的实践经验与优化策略,基于实际开发案例进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、加解密......
  • HarmonyOS Next加解密算法中的参数与模式详解
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中加解密算法参数与模式的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、加解密参数......
  • HarmonyOS Next智能家居系统安全加固:加解密技术的深度应用
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)在智能家居系统安全加固中加解密技术的应用,基于实际开发经验进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、智......
  • hackcambridge-ccleaner-app CCleaner.dat 文件解密
    ccleanerv5.70CCleaner.dat文件解密hackcambridge-ccleaner-appimportbase64fromCrypto.CipherimportBlowfishfromCrypto.Util.Paddingimportunpad,pad#k="041ULKGbv7meLDmSgUyrkw=="k="d3fRPFY0JQp5D76PyNh4ag=="#iv="e12SAq6rENg......
  • python RSA加密解密
    RSA加密和解密是一种常见的非对称加密方法,主要用于保护数据的安全性。在RSA加密中,使用公钥对数据进行加密,使用私钥进行解密。pipinstallpycryptodomefromCrypto.PublicKeyimportRSAfromCrypto.CipherimportPKCS1_OAEPimportbinasciidefgenerate_keys():#生......
  • HarmonyOS Next 加解密算法框架入门:基础概念与功能概述
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、引言在当今数字化时代,信息安全犹......
  • HarmonyOS Next 密钥转换技巧:提升加解密灵活性
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、引言在当今数字化安全领域,密钥转......
  • 【解密】什么样的跨网文件摆渡软件 可以让传输又简单又安全?
    跨网文件摆渡软件,就是解决不同网络、网段、安全域之间的文件传输交换问题。这些网络和安全域之间,可能是纯物理隔离,也可能是用防火墙、VLAN、虚拟化这些手段做的逻辑隔离,但是不管是哪种隔离方式,最终都会用到跨网文件摆渡软件!使用跨网文件摆渡软件的必要性使用跨网文件摆渡软件的......
  • AI Agent 的技术原理:解密智能代理的“大脑“
    目录引言AIAgent的核心架构1.大语言模型(LLM):AIAgent的"大脑"2.规划模块:制定行动蓝图3.记忆模块:存储和检索信息4.工具使用模块:扩展Agent能力AIAgent的工作流程技术挑战与未来发展结语引言在 AIAgent技术概述:开启智能时代的新篇章,对AIAgent进行了......