Eric Evans说DDD还未结束

在Explore DDD 2018大会上,Eric Evans做了“怀疑、乐观和实用主义”的主题演讲,他在演讲中表示,“DDD还没有结束”。在“领域驱动设计”这本书出版十五年之后,作者对这个想法长期以来如此流行表示了惊讶之情。他强调,DDD在这些年里并没有停滞不前,很多人都在不断创新。他还表示,要保持DDD不断发展,还有很多工作要做。

\u0026#xD;\n\u0026#xD;\n

Evans经常被要求对DDD做出定义,于是他也想知道应该如何严格定义DDD。一个极端是“好建议”,实际上只是“看上去很美好的感伤”,另一个极端是一个微不足道的“食谱”,必须严格遵循,但对于处理更高级的概念可能变得无关紧要。Evans认为DDD存在一个舒适点。当指导变得太过死板,即使是最微小的变化也像是在说“你不是在实现DDD”,然后你就无法真正创新。为了使DDD保持相关性,它必须允许创新和演化。

\u0026#xD;\n\u0026#xD;\n

Evans提醒DDD主要指导原则的受众:要关注核心领域,在领域从业者和软件从业者的创造性合作中探索模型,并在明确有界的上下文中使用无处不在的语言。他随后从怀疑论的角度来问道:“如果我们错了呢?”如果我们没有看到DDD产生预期的结果,那么,作为专业人士,我们需要重新审视我们的原则。

\u0026#xD;\n\u0026#xD;\n

一些团队确实在DDD方面取得了令人失望的结果,Evans试图对这些结果的原因进行分类。在某些情况下,文化没有提供良好的支持,而在其他情况下,文化可能是可接受的,但团队缺乏成功的技能。有时,这只是一个运气问题,或者归结为神秘的未知原因,不值得去调查可能会产生误导的根本原因。Evans还指出,典型DDD技术可能存在薄弱点或DDD原则可能存在缺陷。如果技术存在薄弱点,可以在不改变DDD基本原则的情况下解决。例如,Event Storming是一种可以帮助开始进入协作状态的强大技术。但是,如果这些原则确实存在缺陷,我们是否能够在不完全放弃DDD的情况下对它们做一些修改?这是一个需要考虑的未决问题。

\u0026#xD;\n\u0026#xD;\n

Evans看到了DDD在过去十五年中的演化方式。事件溯源和CQRS等技术模式改变了我们构建软件的方式,并提出了系统不需要单个数据库的想法。书籍、博客和其他写作渠道提供了新的观点和有用的解释,扩展了Evans的原创思想。一个主要的区别是DDD社区的发展,出现了本地聚会和国际会议,包括Explore DDD和DDD Europe。

\u0026#xD;\n\u0026#xD;\n

微服务的增长要归功于过去几年DDD的重新升值。Evans认为这是积极的,但也要小心谨慎。如果不是微服务,现在可能也不会举行DDD相关的大会,诸如“每个微服务就是一个有界的上下文”这样的规范性指导接近“食谱”一端,并且偏离了DDD的舒适点。

\u0026#xD;\n\u0026#xD;\n

Evans将大型软件系统比作社区花园。透过花园中人们共享空间的边界上下文,看着“成熟的富足”,他看到了与遗留系统的类比。花园在夏末是最有价值的,因为那时它们最多产。然而,那已经是很久以前的事了,在初春的时候,你可以很容易地改变花园。同样,软件最具延展性的阶段不是在它最多产的时候。

\u0026#xD;\n\u0026#xD;\n

Evans的最后一个观点是,推进DDD的秘诀在于合作。他认为技术大会将专家们聚集在一起讨论各种想法并互相学习的好机会,而不仅仅是广播和讲座。他主张DDD专家进行实验,并在DDD社区内分享这些实验和结果。引入其他领域的专家和意见同样重要,例如框架和编程语言的作者。他总结道,“DDD在过去的十五年里已几经重组。我认为现在是进行另一次重大重组的时候了”。

\u0026#xD;\n\u0026#xD;\n

查看英文原文:Eric Evans Says DDD Isn't Done

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mark

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

C语言的进阶-指针的应用

指针的应用 #include <stdio.h> void swap(int *p,int *q); int main() {int a 5;int b 8;swap(&a,&b);printf("a%d,b%d\n",a,b);return 0; }void swap(int *p,int *q) {int t *p;*p *q;*q t; }函数只能返回一个值&#xff01; 可以通过参数返回多…

Go简单开始

Go是一门编译型语言&#xff0c;Go语言的工具链将源代码及其依赖转换成计算机的机器指令2。Go语言提供的工具都通过一个单独的命令 go 调用&#xff0c; go 命令有一系列子命令。最简单的一个子命令就是run。这个命令编译一个或多个以.go结尾的源文件&#xff0c;链接库文件&am…

C语言进阶-指针与数组

C语言进阶-指针与数组 q可以改变指向的内容&#xff0c;但不能改变指向的地址 p可以改变指向地址&#xff0c;但不能改变指向内容

测试下文章

这是一篇测试 编辑

发布文章测试

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

C语言进阶-指针运算

C语言进阶-指针运算 #include <stdio.h>int main() {char a[] {0,1,2,3,4,5,6,7,8,9};char *p a;printf("p%d\n",p);printf("p1%d\n",p1);int b[] {0,1,2,3,4,5,6,7,8,9};int *q b;printf("q%d\n",q);printf("q1%d\n",q1);r…

vim的模式及常用命令

vim的模式正常模式 (Normal-mode) &#xff1a; 左下角显示文件名或为空。 启动vim后默认处于正常模式。不论位于什么模式&#xff0c;按下<Esc>键(有时需要按两下&#xff09;都会进入正常模式。 插入模式 (Insert-mode)&#xff1a;左下角显示–INSERT– 在正常模式中…

C语言进阶-动态内存分配

C语言进阶-动态内存分配 #include <stdio.h> #include<stdlib.h>int main() {int number;int *a;int i;printf("请输入数组的数量");scanf("%d",&number);//int a[number];a(int*)malloc(number*sizeof(int));//开辟数组的大小for(i 0;i&…

测测

编辑 1.多喝水 2.清黑头&#xff0c;一周做一次角质&#xff0c;一个月做一次小气泡 3.防晒 无论春夏秋冬 4.少吃辣&#xff0c;多喝柠檬水 5.早上护肤步骤&#xff1a;洁面-爽肤水-眼霜-精华-面霜-防晒 6.晚上护肤步骤&#xff1a;卸妆-洁面-水-眼霜-精华-面霜 7.一周三…

QT输出出现乱码的解决

QT输出出现乱码的解决

测试图片外链MD

11111 11111111111111111111111111111 555555555

测试阿里云HTML

一直在说事件&#xff0c;那么事件到底是指什么&#xff1f;这里所说的事件是指手指按下(down)、移动(move)、抬起(up)此为一个事件集合或者说是事件序列&#xff0c;从手指接触屏幕开始到手指离开屏幕结束。所以本篇所说的事件序列或者事件集合是指从手指刚接触屏幕到离开屏幕…

测试阿里云MD

准备工作已经完成&#xff0c;闲言少叙书归正传吧。 和拦截处理机制详解一样&#xff0c;为了系统的研究android对事件的处理&#xff0c;我也写了一个小demo对不同的情况进行测试并结合源码分析&#xff08;多说一句&#xff0c;其实看源码确实很枯燥&#xff0c;有时候因为水…

C语言进阶-结构体

C语言进阶-结构体

线上验证测试阿里云

上面的代码通过super.dispatchTouchEvent(ev)调用了DecorView的父类FrameLayout&#xff0c;该类倒是没有重写dispatchTouchEvent而是由它的父类ViewGroup实现&#xff1a;在分析ViewGroup分发事件之前还得说两结论&#xff1a; 1&#xff09;ViewGroup永远不会对拦截&#xf…

测送图片居中

带尺寸的图片: 居中的图片: 居中并且带尺寸的图片: