• 一个软件功能或特征(feature)由一个或多个逻辑上相关的系统能力组成,这些能力可以为用户提供价值,并由一组功能需求来描述的。 许多业务分析师使用这些功能特征作为描述项目范围的一种方式。然而,一个简单的列表并不容易显示各种功能的规模和复杂性。快速
  • 在Airwallex,领域驱动设计(DDD)方法被用来指导如何对复杂的业务问题和系统设计进行建模。在这篇博客中,我们试图全面介绍用DDD模式对支付系统进行建模的做法。 简介支付系统是一个相当复杂和多变的系统,从订单、欺诈、通知
  • 微服务是开发软件的最具可扩展性的方式。但是你需要一个好的设计,让开发团队自主工作和部署,而不会互相干扰,否则你将失去可扩展性的好处。领域驱动开发允许我们通过将更大的系统分解为独立的单元、了解每个单元的职责并确定它们之间的关系来规划微服务架构。在本文中,我们将学习领域驱动设计的基础知识 icon
  • 领域驱动设计DDD有两个难题:给事物命名,以及在另一个有界上下文中再次命名它们 icon
  • 数据 vs 算法 = 上下文 vs. 聚合从对应位置来看: “数据”=“上下文” “算法”= “聚合” 数据=上下文首先,数据本身是上下文的一种体现,如果你熟悉写 icon
  • “We often fall into the trap of thinking of a boundary as something that separates one thing from another. We should rather think of a boundary as som icon
  • 我经常阅读有关领域驱动设计如何过于复杂或过度杀伤的评论。然后还有其他新的 DDD 想要应用它,尤其是技术模式,无处不在。所以问题是,你应该使用领域驱动设计吗?答案在中间的某个地方。 大型系统首先,让我定义一些我将在这篇文章的其余部分中 icon
  • 为什么我们系统的模块耦合度如此之高?是因为他们缺乏凝聚力吗?(banq注:为什么人员在团队之间流动这么频繁?为什么团队之间开会如此频繁?是因为这些团队内部缺乏凝聚力吗?缺乏核心凝聚吗?) 案例:有人说:我们的系统是自 COBOL 和 FORTRAN 时 icon
  • 谷歌工程主管乔·林奇的文章,获得SOLID原则作者鲍勃大叔点赞转发的文章:作者推荐将SRP视为DDD原则的自然结果:跨DDD限制上下文共享的模型是不安全的。 icon
  • 没有上下文的数据就是噪音! 上下文为王 icon
  • 使用不同的抽象级别更好地构建您的问题。 抽象阶梯是一种更巧妙地构建问题的工具。它有助于定义您需要更清楚地解决的问题。它可以帮助您超越最初的问题陈述。该工具使您能够提出正确的问题以在阶梯上上下移动。上移扩大范围,做到“见树不见林”。向 icon
  • Vladik Khononov 是《学习领域驱动设计》一书的作者。在这一集中,我们深入讨论了领域驱动设计 (DDD) 和 Vlad,首先分享了为什么理解业务领域在软件工程中至关重要,以及 DDD 如何帮助在领域专家和软件工程师之间建立共同的理解。Vlad 随后解释了 DDD 中的两个重要设计 icon
  • 你是把每个微服务放在它自己的 git 存储库中,还是使用 monorepo?如果是后者,您如何在同一个 repo 中处理多个服务? 回答1. 我一直为每个服务使用一个 repo,但这主要是因为我们在工作中使 icon
  • 在经营企业的过程中,不可能预见到可能发生的每一种情况,并事先为它们准备好可以自动执行的纯粹基于规则的方案。这是否意味着你不应该使用基于规则的方法?当然不是! 它的意思是,在许多情况下,你的规则方法需要对实时插入的情感、人类判断力和常识尽可能友好。< icon
  • 互联网的关键架构原则之一是模块化; 模块化是一种设计原则,它有意使组件高度独立(“松散耦合”);当一个系统由具有可识别边界的较小的独立部分组成时,它就是模块化的。 在设计模块化架构时,系统架构师以 icon
  • “关键系统启发式”,又称“批判的启发式扫描”或“CSH”,是基于实践哲学和系统思维的反思性实践的框架。CSH的基本思想是支持边界批判,也就是批判性地处理边界判断的系统性努力。边界判断决定了哪些经验观察和价值考虑是相关的,哪些被排除在外或被认为不太重 icon
  • 在您的软件开发生涯中开发应用程序可能采用的众多方法之一是API-First Approach。在本文中,我们将深入探讨其核心概念并了解有关此方法的更多信息,我们还将熟悉在此方法中可能需要的一些工具。 背景从 icon
  • 在软件工程方面,我们的愿景是让 BBC 以其工程和内容而闻名。为此,我们必须进一步发展 BBC 作为产品和技术公司的理念。我们的资产中有数百个微服务,所以我们有跨学科团队负责每一个。我们尽最大努力在赋予每个团队权力和确保我们全面进行高度协作之间取得平衡。我们希望 BBC 以其 icon