• 在本教程中,我们将探索命令查询责任隔离(CQRS)和事件源设计模式的基本概念。虽然通常被称为互补模式,但我们将尝试分别理解它们,并最终了解它们如何相互补充。这些模式通常在企业应用程序中一起使用。在这方面,他们还受益于其他几种企业架构模式。我们将讨论其中的一些内容。有多种工具和框架可帮
  • 在这里,我将揭开“涌现Emergence”的神秘面纱,并将其完全具体化。 大多数人都将其视为哲学家和神秘主义者的一种模糊概念。如果您尝试阅读有关涌现Emergence的 icon
  • 很多人将数据表之间的关系图或者将类的静态结构关系作为聚合模型的设计依据,这是片面的。这属于一种简单模型,复杂聚合模型是应该考虑这些结构中部件的交互关系的。mathiasverraes这篇文章主要谈论这点:所有模型都是错误的,但是简单模型比复杂模型更错误。简单的模型更具吸引力,更易于教 icon
  • 软件架构类似房子,这个房子代表一个递归式应用,由顺序、选择和迭代等组成,这个应用被放设计进入一个面向对象的结构中,类似房子设计成三室一厅两厨卫这样的结构,而穿越结构的说水管电线管,这些管线是由函数式编程控制的不变性数据组成。banq注:以DDD为例,聚合结构是一种面向对象设计方式,而 icon
  • Spring Data 2021.0(代号为Pascal)是继六个月的新节奏之后的第二个版本。它附带了对许多现有接口和编程模型的改进。这篇博客文章解释了以下主题: 1. 为CrudRepository和ReactiveCrudRepository引入了新的删除 icon
  • 在原始的域驱动设计书中,埃里克·埃文斯(Eric Evans)对聚合解决了哪些问题进行了评论:需要保持适用于紧密相关的对象组的不变性,而不仅仅是离散的对象。</ icon
  • 当系统的多个用户尝试在“相同”时间对同一块数据进行操作时,会发生什么情况?谁赢?谁输了?本文将说明如何解决此类问题!协作领域是可以同时由多个用户/客户端更改资源的领域,这要求对我们的业务逻辑进行更智能的处理。解决此问题的最流行方法之一是使用并发控件。换句话说,当数据不同步时, icon
  • Apache Kafka已成为跨微服务异步通信的领先平台。它具有强大的功能,可让我们构建健壮的,有弹性的异步体系结构。同时,我们需要预料到潜在的陷阱。如果无法提前识别出可能(不,将要发生)的问题,将使我们面临易于出错和数据损坏的系统。在本文中,我们将重点介绍这样的陷阱:处理消 icon
  • Java是一种面向对象的编程语言(它符合纯面向对象的大多数属性),它包括四个OOP支柱(面向对象的编程)概念,即: 抽象化 封装形式 继承 多态性 今天,我将深入探讨称为封装的重要支柱。作为参考,封装可以定义为“ 将数据和功能绑定到一 icon
  • 几周前,我结束了一场技术辩论,讨论如何进一步利用现有的事件溯源应用程序,以充分利用其旨在为您带来的好处。我已经写了许多帖子是关于陷阱、最佳实践以及如何在.NET中具体实现这一点。但是我仍然认为为您提供一些最重要的指导方针和启发式方法列表可能是有用的,我认为这些列表和启发式方法对于成功使用事件 icon
  • 最新消息来自纽约州州长办公室宣称,纽约与IBM合作将公民的Covid-19检测和疫苗注射数据通过区块链存储。他们已经在IBM系统 icon
  • “低耦合高凝聚”,“信息隐藏”:众所周知的设计原则。尽管如此,它们在许多软件体系结构中并未得到重视,尤其是在前端和后端之间的交互方面。 API对于隐藏信息很有价值通过提供API系统,可以确定将哪些信息公开给外界以及将哪些信息保密(信息 icon
  • EntityGraphs和JOIN FETCH子句提供了一种简单有效的方法来获取实体并初始化其关联。但是,如果尝试将其与 icon
  • 装饰器模式可以使用聚合来组合运行时的行为。“聚合aggregation是将事物或数量组合为单个组或总计的过程”。聚合的同义词之一是“堆heap”,堆是“杂乱的堆或大量的东西”。我认为这个定义还可以。对我来说只有一件事毁了它。如果聚合是一个过程,而堆(一个不整洁的堆)是该过程的结果,那么为什么 icon
  • 领域事件(Domain Events)与事件溯源(EventSourcing)有什么共同点?名称中都有“事件”一词。但是除此之外,在项目,会议或培训中与架构师和开发人员交谈时,我经常听到领域事件与事件源配合得很好,并且事件源是领域事件的理想来源。在此博客文章中,我想概述为什么我个人不同意这种 icon
  • 您所做的事情越复杂,即使只是将其结构化,是一种建设性的复杂性(如数据表结构设计,DDD聚合设计等,关联关系不能太多,虽然这是一种结构化关系,但是如果有很多1:N和1:2甚至N:N关系,则会复杂化)。复杂化会让排斥您的人也就越多。简单化就是无障碍。 我可以原谅建设性的复杂性:抽 icon