行为驱动开发的简要介绍
行为驱动开发(Behavior-Driven Development, BDD)的概念来自于测试驱动开发,强调使用DSL(Domain Specific Language,领域特定语言)描述用户行为,定义业务需求,是需求分析人员、开发人员与测试人员进行沟通的有效方法。DSL是一种编码实现,相比自然语 ...
2021-11-15
如何分辨应用服务与领域服务
判断什么时候应该定义领域服务,什么时候应该定义应用服务,一个根本的判断依据是看需要封装的职责是否与领域相关。
2021-11-15
解惑领域驱动设计
最近重读Eric Evans的经典《领域驱动设计》,正如Eric提倡我们要去发现隐式概念一般,这次重读也让我发现了许多隐藏的DDD知识。恰好今日有朋友咨询我一些DDD问题,好似激活了触发器,随着问题的解答,我倒是在回答过程中又把这些知识梳理了一遍,才有了这篇杂记。
2021-11-15
领域场景分析的6W模型
在软件构造过程中,我们必须正确地理解领域。一种生动的方式是通过“场景”来展现领域逻辑。领域专家或业务分析师从领域中提炼出“场景”,就好像是从抽象的三维球体中,切割出具体可见的一片。然后以这一片场景为舞台,上演各种角色之间的悲欢离合。每个角色的行为皆在业务流程的指引下展开活动,并受到业务规则的约束。当 ...
2021-11-15
限界上下文的边界
边界通过限界上下文来确定,这在领域驱动设计中具有非凡的意义。对应于通用语言,限界上下文是语言的边界,对于领域模型,限界上下文是模型的边界,二者对应于问题空间(Problem Space)的界定。对于系统的架构,限界上下文还确定了应用边界和技术边界,进而帮助我们确定整个系统及各个限界上下文的解决方案。 ...
2021-11-15
面向流的设计思想
响应式编程(Reactive Programming)的本质是异步非阻塞的高响应式处理,最核心思想则为Everything is stream,即针对流进行处理,这是其根本。从这个角度讲,我们可以将响应式编程的设计思想视为Stream-Oriented Design,即面向流的设计。
2021-11-15
验证限界上下文的原则
在获得了限界上下文之后,还应该遵循限界上下文的验证原则对边界的合理性进行验证。
2021-11-12
DDD领域驱动设计与软件复杂度的那些事
软件开发领域中,软件复杂度是一个由来已久的话题,从软件的诞生到成熟再到消亡,或多或少总会伴随着软件复杂度的讨论。 我们不禁发问,软件复杂度究竟从何而来? 谈到软件复杂度,有三个话题不得不提及,他们分别是软件规模,软件结构,以及业务的变化。
2021-11-11
聊聊异构交易场景交互流程及一致性保证
事情的经过是这样的,群友四哥发来一个问题,问大家有什么看法,我看了下,刚好之前接触过类似的业务场景,因此斗胆就问题谈谈自己的看法,抛砖引玉。 问题如下: A系统联机同步调用B系统(A和B不是同一公司系统,不能用分布式事务), 如何保证系统间数据准实时一致性(聊聊设计思路即可)? 提醒:需要考 ...
2021-11-11
日常使用的软件架构备忘录
拥有干净整洁的软件架构并从项目开始就保持符合预定义的设计原则,是避免该软件系统未来可能出现的技术债务的最佳方法之一。干净的软件设计是有效软件产品的关键点。让我们来看看确保干净的软件设计的一些重要原则、规则和指南。
2021-10-27

© 2016 - 2024 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号