• 在本教程中,我们将探索命令查询责任隔离(CQRS)和事件源设计模式的基本概念。虽然通常被称为互补模式,但我们将尝试分别理解它们,并最终了解它们如何相互补充。这些模式通常在企业应用程序中一起使用。在这方面,他们还受益于其他几种企业架构模式。我们将讨论其中的一些内容。有多种工具和框架可帮
  • 这是一篇从程序员视角看区块链的文章,将区块链落地为程序员能够理解的概念,比如图灵状态机,而状态机是一种状态模式,是事件驱动建模的核心。本文适合区块链入门阅读: 不对称密码已经存在了很长一段时间,密钥有公钥和私钥之分。我们使用公钥进行加密并使用私钥解密。或相
  • 让程序变得可推导,关键是对可变状态的围剿,纵观业界有三种方向:1. 通过函数式语言让不变性成为语言的默认特性,这样可变状态变成特例。这种方式会让程序员尽量不用可变状态,就是没办法回避也会努力花力气做好做完善。 2.让可变状态变成编程的核心,也就是说 icon
  • 日常编程中你使用过状态机吗?也就是状态模式?首先问题是为什么要使用状态机,解答这个问题必须回答如何对抗软件的复杂性?软件的复杂性是因为一份代码做两件事引起的,很多领域模型中都包含一个半残的隐晦的状态机,如果不将状态管理从领域模型中分离出来,相当于让领域模型做两件事,一件事代表实体属性,一件事表达实体 icon
  • 软件不是孤立的工件。它必须嵌入到使用和生产它的人们的社会技术环境中,并与环境不断相互作用。我们需要知道的是,复杂的系统如何显示我们作为系统设计者试图捕获有用的抽象的行为。 “组织是动态的,层次结构化的实体。这种活力体现在每个组织级别的重大事件 icon
  • 通过将Apache Zookeeper与Java Spring State Machine框架集成在一起,为构建分布式状态机提供一个框架。所谓Java Spring State Machine框架:应用程序现在处于并且可能以有限数量的状态存在。然后会发生一些事情,将您的应用程序从一种 icon
  • 状态机是基于有限状态的计算模型,通常工作流程与状态一起使用,这意味着应该遵循一定流程规则才能从任何状态切换到任何其他状态。这些状态之间的转换是受到规则的限制。 Spring框架有一个名为Spring State Machine的库。它是该概念的一个实现,目 icon
  • 这篇文章讲述了为什么要对系统进行建模,并使用TLA +框架详尽地测试这些模型/设计。在第一部分中,我将讨论为什么建模您的设计是重要和有益的,在第二部分我将解释为什么TLA +是一个非常合适的建模框架,特别是对于分布式和并发系统。 建 icon
  • 您如何构成一个DDD聚合?对我而言,聚合设计涉及对不变性的理解。不变是必须始终保持一致的业务规则。了解不变式将指导您的聚合设计。聚合是基于不变性和一致性定义边界的另一个示例。 送货案例我将使用的示例是“Shipment”的概念。您可以 icon
  • Simple Redux主要是教您Redux的核心概念。部分是为了好玩,但主要是为了帮助您避免Redux应用程序中不必要的重新渲染。适用于具有使用Redux和React的经验的开发人员。在这里将不会学习如何使用actions, reducers, 或the connect功能。相反, icon
  • 使用Java 8流,似乎函数编程赢了,无状态和递归万岁!但是现实有点微妙:与软件编程一样,它取决于。我相信你的工具箱中的工具越多越好。 icon
  • Java 15带来了密封类的预览功能。现在,我们基于接口的状态机不仅可以防止无效转换,而且可以像枚举一样枚举。特点是:编译时和运行时两个阶段都能检 icon
  • 单一断言规则 是指对单个状态切换进行测试,比如安排 行动 断言,但不是安排 行动 断言 再行动 再断言 Uncle Bob Martin (@unclebobmartin) 于 0:53 icon
  • 目的Balking Pattern用于防止对象在不完整或不适当的情况下执行某些代码。 维基百科说balking模式是一种软件设 icon
  • 目的Balking Pattern用于防止对象在不完整或不适当的情况下执行某些代码 icon
  • 问题:如何设计对象,子系统和系统,以便这些元素的变化或不稳定性不会对其他元素产生不良影响?解决方案:确定预测变化或不稳定的点,分配责任以围绕它们创建稳定的接口。在我看来,这是与其他GRASP原则间接相关的最重要的原则。目前,最重要的软件指标之一是易于更改。作为架构师和程序员, icon
  • 借助reduce函数,它可以做魔术:能在事件溯源EventSourcing中聚合流(事件流)构建当前的聚合状态。首先定义事件类型和聚合数据。我使用电影票预订作为示例用例: icon
  • 事件溯源 是一个简单但功能强大的概念,它允许将应用程序的状态表示为事件序列,而不是当前状态的快照。换句话说,可以随时从表示已影响系统的每个更改的有序事实列表中推断当前状态。 1.免费审核跟踪我们不仅通过应用所发生的每个事件来达到相同的结果, icon