• 两个概念之间的耦合与某些属性有关。不论哪个属性更改都会影响一起更改的内容。我们的有界上下文边界划分是一种押注,押注那些会一起改变的事情。
  • 在社会技术系统中调整有界上下文,以支持业务价值流。当您能够了解业务的价值流时,请在DDD战略层面上使用它们。例如,在一家在线销售实物商品的电子商务公司中,体现业务价值流的活动包括: (根据物理位置或从远程)获取要出售的物品 描述其物理细节(颜色,质量,图片和其 icon
  • 在这篇博客文章中,我将向您解释SAP将如何使用SAP统一领域模型作为集成智能套件的一种语言(通用语言)。您将了解已经在哪里使用了统一领域模型,并对其背后的技术概念有了一些基本的了解。最近,SAP提供了 icon
  • 事件建模的创始人Alberto Brandolini说:数据是在有界上下文之间流动的,而行为是特定于某个有界上下文方式的。如果围绕数据划分微服务边界将导致分布式耦合。这不是我最喜欢的方式。(banq注:按动词如行为或事件寻找上下文之间边界,以此划分微服务边界,不是根据对象的数据属性,一个对象 icon
  • 尽管微服务中的“微”一词表示服务的规模,但它并不是使用微服务的唯一标准。当团队转向基于微服务的架构时,他们旨在提高敏捷性以及自主且频繁地部署功能。很难确定这种架构风格的简单定义。我喜欢 icon
  • icon
  • 将大型复杂系统模块化为更小和更易于管理的部分是一种最佳实践,这不仅是为了降低每个部分的认知负担,而且还可以降低团队的独立性和运营弹性。棘手的一点是如何划定边界,使整个系统稳定而可持续。带有边界的上下文是领域驱动设计的一种方法,业务领域的语言用作指导,还有另一种方法是从业务模型定义的功 icon
  • LinkedIn消息平台现在存储了价值17年的消息(使用17年的不同产品功能创建),并且发送的消息数量一直保持不变往上走。最初,这些消息看起来很像电子邮件。现在,他们看起来更像是聊天,带有主题,群组对话,表情符号,没有主题行。支持该消息传递系统的代码已经过更新,变得越来越复杂,但是多 icon
  • 汇丰商业银行的数据设计师Narasimha Reddy本周在Live上发表讲话,解释了该组织如何通过从65个关系数据库迁移到MongoDB的一个全球实例中来简化其应用程序交付方法。汇丰银行是全球知名度最高的银行和金融服务组织之一,业务遍及60多个国家,为4000万客户提供服务。但是, icon
  • 鉴于Spring Boot的注解像@ComponentScan,@EntityScan,@ConfigurationPropertiesScan和@SpringBootApplication基于包结构来定义扫描的位置,在构建新的Spring Boot项目时,我们如何在包中组织类应具有高度的灵 icon
  • 一种流行的方法是出于技术考虑进行包装Package。但是这种方法有一些缺点。相反,我们可以按功能打包并创建自包含且独立的程序包,结果是一个易于理解且不易出错的代码库。 按技术打包类的缺点: 对属于某个要素的所有类的概述不佳。 通用代码,重用代码和复杂代 icon
  • 项目是我们正在进行的较大项目之一。最后,它将为成千上万的用户提供服务,处理大量的财务交易,并且需要即时创建独立于租户的安装。一个关键要求是,可以轻松地报告和跟踪整个历史记录,即企业的核心产品订购流程。同时,也拥有一个易于使用的产品管理系统。 icon
  • 在设计基于微服务的系统时,衡量和优化正确的指标至关重要。为每个微代码库和微团队设计本地边界绝对很容易。但是,要构建一个完整系统,我们必须将系统级别设计也考虑在内。微服务与系统级别的设计有关,而不是仅仅与单个服务有关。在基于微服务的系统中,我们通过最小化服务的公共接口(使之成为微服务) icon
  • 这两种建模方式都是围绕事件展开,但是有区别,事件风暴将会比普通的事件建模在思考层次上更高级,这需要从思维机制讨论:大脑是一个处理信息的机器,它学习速度很快,可以立即处理数据负载。那么,知识是如何构建的?在何处存储?人的记忆可以分为两类:语义记忆和情景记忆。 情 icon
  • 本文提出了一种使用包Package设计对Java应用程序进行模块化的有效方法,并将此方法与Spring Boot作为依赖项注入机制结合使用,与ArchUnit结合使用,以在有人添加了不允许的模块间依赖项时使测试失败。好于纯粹基于Java9模块JPMS机制。我们希望以在构建软件时,拥有 icon
  • 领域驱动设计(DDD)是一组原则和工具,可帮助我们设计有效的软件体系结构以提供更高的业务价值。通过将整个应用程序域分离为多个语义一致的部分,Bounded Context是从架构的泥潭中拯救体系结构的主要模式之一。同时,借助 icon
  • DDD不是聚合、事件溯源、CQRS、事件风暴等。这些都是工具。它们已被证明在DDD项目中非常有用。但是我们必须小心,不要将演奏乐器与音乐艺术混淆。对我而言,这是DDD的关键是:与大型系统的复杂性作斗争时,项目团队如何获取领域知识,他们如何构建、开发和普及应用概念模型,以及随着时间的推 icon