03 2022 档案
摘要:内验是针对领域模型自身的验证,其验证规则也是由领域模型自已来完成,只是触发的时机可能在工厂中也可能在构造函数中。与内验对应的当然就是外验了,这是用于对用户的输入和业务流程的前提或得更专业一点叫“前置条件”的检验。如果细化一点,可以将外验分成两个情况:用户输入和业务流程的前置条件。情况不同验证的方式也
阅读全文
摘要:验证在我们现实的生活中非常常见,比如您找工作得先整个面试验证你的能力是否靠谱;找对象得先验证下对方的颜值和升值空间。有些工程师写代码从不验证,我觉得是有三个原因,一是意识不够,过于相信前端或外部服务;二是个人缺少主动思考的能力;三是团队负责人的问题,您都当了领导了为什么不制定一些基本开发规则给团队树
阅读全文
摘要:上一节中讲了实体的一些概念,作为DDD中最为复杂的组件,想用好了还需要在实践中慢慢去摸索,都是摸爬滚打过来的。本章着重演示一些实体相关的代码,通过建立一个基类和通用方法,能让您在开发过程中少写一些重复的代码同时也减少在使用第三方开源框架时的学习成本。此外,是从0写代码,不需要付出太多的精力便可以加深
阅读全文
摘要:现在开始正式的进入战术部分,我看前面发的一些文章,只要有代码的阅读量就高,没代码的就差太多了,难道是因为平台只要看到代码才会加强推荐吗?真要是这样那我是真醉了,其实学习DDD光看代码还真不行,需要很多理论支持的。如果您是新的读者我建议先把前面的内容都翻看一下,至少得有一些理论依据作支撑后面学习起来才
阅读全文
摘要:前面细讲了基于CQS的4层架构,其中的领域模型层也就是六边型架构中的内核在整个开发流程中工作占比最大,也是需要工程师最需要关注地方。那么话说回来了,里面到底包含了什么东西需要投入如此高的关注度。答案还用说?必然是领域模型啊,比如实体、值类型、业务服务等,您别忘了咱们讲的是领域驱动设计。具体可参看如下
阅读全文
摘要:写了好几章的东西,再回头读的时候发现有些内容写的不理想,没有表达出自己所想要表达的意思。这次写一个补遗,把我认为需要重新解释和着重说明的内容再唠一唠。反正我多说两句,您就可以多理解一些。按此等形式,我感觉下次应该找个小弟当副编辑,专门用于挑错。废话不多说,走起…… 一、为啥我讲的和书上的内容有些不一
阅读全文
摘要:在做了两章铺垫后本章再续写第九章。我们之前介绍过了好几种架构模式,那么本章只挑一种往死了整,这个架构其实就是在DDD书中所介绍的经典四层的变更版。这里面需要注意一点,四层架构是洋葱架构的一部分,尽管洋葱型已经是微服务架构系统中一种事实上的标准,但我们不会对各类适配器做重点介绍,那些东西一般都是开源的
阅读全文
摘要:上一章讲解了软件设计中主要用到的三个设计模型,本节讲解三个服务。等咱们这次都讲完了再最后进行一次归纳,即:系统开发流程中的三模型、软件设计中的三模型和三个服务,我习惯管这个叫3*3*3。看完了您就会知道我为什么常说软件设计这活是朴素的,没那么多弯弯绕,只是因为我们在学习过程中没有做思考和归纳。设计模
阅读全文
摘要:今儿写这个题目胆子有点大,不过还是得冒险整一篇(我怕您看完了骂我),一是出于经验分享,另外则是为了后面我们讲案例的时候做好铺垫。好的代码需要注意的事项其实挺多的,您真让我一骨脑儿都列出来可能也差点意思,所以遵照我们常态化歪楼的习惯,我是想到哪写到哪儿。 我没事儿的时候就喜欢看别人写的文章,也喜欢看书
阅读全文
摘要:各位看官司好,领域驱动设计转眼就写到了第十章,内容虽不多,但的确下了一番的心血。希望您在此系列中已经得到了收获,哪怕是一丁点,也是DDD这个圈子的星星之火。其实早就想将自身所学进行一番总结,形成为一种体系化的东西。奈何个人太懒,工作之余就想在床上横着,或刷手机或读书。不过既然下定了决心且已经有了一个
阅读全文
摘要:本节开始进入DDD的战术阶段,首先要讲解的必然是DDD中的架构,毕竟程序员就喜欢这个……不过这里的架构不同于我们常说的微服务架构、单体架构、无服务架构或服务网格。不严谨来讲,上述4种为涉及到系统结构、部署方式、服务器架构等更为全面的、包含软、硬件等内容的宏观系统架构(这个不在我们的主要范围内,主要是
阅读全文
摘要:本文章适用的场景:同一条消息可以被多个消费者同时消费。注意:当消费者多实例部署时,会轮询消费消息。网上有大量的的案例展示:P生产一条消息,消费者服务C中建立Q1和Q2两个队列共同消费。但极少的材料展示:P生产一条消息后M1,消费者C1和C2可以同时消费M1,如下图所示。案例基于Spring Boot
阅读全文
摘要:我们在前面花了大手笔聊子域与限界上下文,不知道作为读者的您的感受是什么。当然了,我可不是郭德纲自己给自己叫好。您应该也发现了一个规律,此两节的内容其实都是在讲“分”:子域从业务上划小,BC从物理上进行划小。虽然说BC属于分析模型,但那东西只要一确定您可就得按这个方案进行开发了,所以说其确定了物理上的
阅读全文