首页 > 其他分享 >软件开发的山顶是国学和DDD

软件开发的山顶是国学和DDD

时间:2024-09-22 10:48:32浏览次数:3  
标签:软件开发 领域 国学 设计 驱动 软件 DDD

DDD领域驱动设计批评文集

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

《软件方法》各章合集


最近听说领域驱动设计圈子提出了“设计国学”的思想,受启发得到此文。

**********

领域驱动设计(DDD)是革命性的创新和划时代的洞见,国学则是中华五千年文明的积累。二者的结合如同双剑合璧,以老带新,以新激老,足以解决软件开发中的任何难题。

一、来自物理学的启示

曾任中国科技大学校长、南方科技大学校长的物理学家、中科院院士朱清时在他的著名演讲《物理学步入禅境:缘起性空》中提到:科学家千辛万苦爬到山顶时,佛学大师已经在此等候多时了。

事实证明确实如此。

例如,西方的哈勃望远镜观察到的宇宙星团,在《华严经·八十卷五品》中早有论证:诸佛子,彼一切世界种,或有作须弥山形,或作江河形,或作回转形,或作漩流形……。

例如,西方的显微镜观察到的细菌,在《大般涅槃经卷六·如来性品第四之三》中也早有论证:若所受身,有八万虫。

作为科学家的代表,朱清时院士的这个演讲可谓是振聋发聩。它打破了理科人群对物理学的垄断。佛学是物理学的山顶,而《华严经》说“一切众生皆具如来智慧德相”——俗称“佛眼看众生,众生皆是佛”,因此,人人都是物理学家。 

于是,民间掀起了研究物理学的新高潮,文史哲的各路人才也纷纷为物理学贡献力量。

如果文史哲的人才也能基于自身优势为软件开发贡献力量,可以想象,软件开发业会是一个什么样的盛景!

二、软件开发的山顶是国学和DDD

我们也可以说,软件开发人员千辛万苦爬到山顶时,国学大师已经在此等候多时了。

自古以来,软件开发和国学就是你中有我,我中有你,所以我们经常可以看到《**之道》、《**之禅》这样的软件开发书籍:  

图片

图片

《领域驱动设计》的作者Eric Evans就把领域驱动设计称为“哲学”,他在《领域驱动设计》的前言中说:

Leading software designers have recognized domain modeling and design as critical topics for at least 20 years, yet surprisingly little has been written about what needs to be done or how to do it. Although it has never been formulated clearly, a philosophy has emerged as an undercurrent in the object community, a philosophy I call domain-driven design.

领先的软件设计人员认识到领域建模和设计的关键性已经有至少20年,然而令人惊讶的是,关于需要做到什么或者如何做,一直以来几乎没人写点什么。不过,一种哲学像一股暗流已经在对象社群出现,虽然还从来没有被清晰确切地表述出来。我把这种哲学叫作“领域驱动设计”。

把领域驱动设计定位为哲学,这个超然的地位使得领域驱动设计具有极大的包容性和无限的发展可能,从前、现在和以后所有行之有效的软件开发知识都可以纳入领域驱动设计的哲学体系。 

图片

另外,把领域驱动设计定位为哲学,还可以得天独厚地汲取国学五千年的丰富养分,开辟软件开发的新天地。

领域驱动设计的二进制,可以从《黄帝内经》中汲取养分:阴阳者,天地之道也,万物之纲纪,变化之父母,生杀之本始,神明之府也。

可以看出,领域驱动设计二进制的根源就是阴阳学说,正是在此基础上,造就了我们今天繁花似锦的信息化世界。

领域驱动设计的ChatGPT,同样可以追溯到《道德经》:道生一,一生二,二生三,三生万物。这不就是今天人工智能学习能力的来源吗?

领域驱动设计所提出的分层和模块化设计思想,《周礼》中就多有描述,其中强调了职责划分的重要性。 

图片

《墨子》中大量的“故”、“是故”,就是领域驱动设计结构化编程思想的根源,而西方一直到1960年代才由Jacopini和Dijkstra提出类似思想。 

图片

领域驱动设计数据库的应用,则可以追溯到商朝的户籍管理系统。 

图片

领域驱动设计提出的“针对接口编程,而不是针对实现编程”,在武林秘籍《九阴真经》中也有论证:天之道,损有余而补不足,是故虚胜实,不足胜有余。当然,《九阴真经》虽在民间流传,但真伪未知,因此这一条可以打个问号。

图片

三、领域驱动设计需要国学的看护

我们来听听《天龙八部》里的扫地僧怎么说的:

那老僧续道:“本寺七十二项绝技,每一项功夫都能伤人要害、取人性命,凌厉狠辣,大干天和,是以每一项绝技,均须有相应的慈悲佛法为之化解。这道理本寺僧人倒也并非人人皆知,只是一人练到四五项绝技之后,在禅理上的领悟,自然而然的会受到障碍。在我少林派,那便叫作‘武学障’,与别宗别派的‘知见障’道理相同。须知佛法在求渡世,武功在求杀生,两者背道而驰,相互克制。只有佛法越高,慈悲之念越盛,武功绝技才能练得越多,但修为上到了如此境界的高僧,却又不屑去多学各种厉害的杀人法门了。

那老僧见众僧上来,全不理会,继续说道:“但如练的是本派上乘武功,例如拈花指、多罗叶指、般若掌之类,每日不以慈悲佛法调和化解,则戾气深入脏腑,愈陷愈深,比之任何外毒都要厉害百倍。

领域驱动设计的每一项绝技都是“杀人技”,而且兼容并包。程序员每多学习一项,“算法障”或“知见障”就重一分,这时就需要国学来化解。

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

未来世界,信息化所占比例必将越来越大,怎么能把一部分人排除在外呢?

另外,软件国学人才培养所需成本很低,不需要编程环境,甚至不需要计算机,一个Kindle就可以把所有典籍包罗在内,自学成才极其方便。

国学浩如烟海,软件国学人才只需要精通某一具体学科即可,包括但不限于历史、哲学、地理、政治、经济、书画、音乐、易学、术数、星相、书法、中医等。

据报道,Steve Jobs就是因为小时候学习了书法,并把书法思想用于苹果公司,才有了Mac、iPod、iPhone的辉煌。 

图片

标签:软件开发,领域,国学,设计,驱动,软件,DDD
From: https://blog.csdn.net/rolt/article/details/142356586

相关文章

  • 基于python+flask框架的基于微信小程序的食疗坊软件开发(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着现代生活节奏的加快与人们健康意识的日益增强,如何通过日常饮食实现健康管理成为了大众关注的焦点。然而,在信息爆炸的时代,科学、便捷的......
  • 软件开发详解:通过源码搭建高效的食堂采购与供应链管理平台
    通过源码构建定制化的系统,能够让企业根据自身需求灵活调整功能,打造符合其业务流程的高效管理平台。接下来,小编将详细介绍如何通过源码搭建一套高效的食堂采购与供应链管理平台,并分析其在技术架构、功能实现及优化策略方面的关键点。 一、食堂采购与供应链管理平台的基本需求在构建......
  • 第156期 探秘 NTHU-DDD:疲劳与哈欠背后的驾驶安全密码(目标检测)
    亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。一、引言随着交通运输行业的快速发展,道路交通安全问题日益凸显。疲劳驾驶作为导致交通......
  • 反DDD模式之“复用”
    本文书接上回《反DDD模式之关系型数据库》,关注公众号(老肖想当外语大佬)获取信息:最新文章更新;DDD框架源码(.NET、Java双平台);加群畅聊,建模分析、技术实现交流;视频和直播在B站。背景在我们软件开发过程中,“复用接口(webapi)”、“复用服务(service)”是非常常见的现象,很多老司机都会为自己设......
  • 反DDD模式之“复用”
    本文书接上回《反DDD模式之关系型数据库》,关注公众号(老肖想当外语大佬)获取信息:最新文章更新;DDD框架源码(.NET、Java双平台);加群畅聊,建模分析、技术实现交流;视频和直播在B站。背景在我们软件开发过程中,“复用接口(webapi)”、“复用服务(service)”是非常常见的现象,很多......
  • 软件开发的方法论:Supra模型
    Supra模型是一种用于软件开发的方法论,特别是在需求工程领域。它提供了一种系统化的方式来识别、分析和管理软件项目的需求。Supra模型强调在整个软件生命周期中持续地关注用户需求,并且通过迭代的方式逐步细化和完善这些需求。这个名字“Supra”并不是一个广泛认可的标准术语,因此可......
  • AI景区抓拍系统软件开发
    AI旅拍系统开发:13101716752微电,以下是关于景区抓拍系统开发的一些要点:一、需求分析功能需求游客抓拍能够自动识别景区内的游客,对游客进行拍照或录制短视频。例如,在热门景点处设置抓拍点,当游客进入特定区域时触发抓拍功能。提供不同的拍摄模式,如全景、特写等,以满足不同的拍......
  • 反DDD模式之关系型数据库
    本文书接上回《图穷匕见-所有反DDD模式都是垃圾》,关注公众号(老肖想当外语大佬)获取信息:最新文章更新;DDD框架源码(.NET、Java双平台);加群畅聊,建模分析、技术实现交流;视频和直播在B站。背景我在与开发者交流关于DDD的建模思路时,往往会遇到一个难题,就是不少经验丰富的开发者,总是带着技......
  • 反DDD模式之关系型数据库
    本文书接上回《图穷匕见-所有反DDD模式都是垃圾》,关注公众号(老肖想当外语大佬)获取信息:最新文章更新;DDD框架源码(.NET、Java双平台);加群畅聊,建模分析、技术实现交流;视频和直播在B站。背景我在与开发者交流关于DDD的建模思路时,往往会遇到一个难题,就是不少经验丰富的开发者,总是带......
  • 高级java每日一道面试题-2024年9月12日-架构篇[DDD领域驱动篇]-如何使用领域驱动设计(D
    如果有遗漏,评论区告诉我进行补充面试官:如何使用领域驱动设计(DDD)中的事务脚本模式?我回答:在Java高级面试中,讨论如何使用领域驱动设计(DDD)中的事务脚本模式是一个很好的话题,因为它不仅考察了面试者对DDD原则的理解,还检验了其在实际项目中应用这些原则的能力。事务脚本模......