• 本文介绍将现有单体应用程序迁移到微服务中,如何重构数据库? 数据库重构模式可以通过多种方式重构关系数据库(例如 PostgreSQL)以优化基于微服务的应用程序架构的效率。如前所述,数据库是结构化数据的有组
  • 我不否认在某些情况下微服务优先的架构很有意义,但我认为这种情况很少见。绝大多数系统都可以通过启动并保持在一个宏伟的单体中得到更好的服务。
  • Alan Moore (Aladdin 首席架构师、技术研究员和董事总经理)描述了贝莱德在资产管理中使用领域驱动设计DDD,以及我们如何使用它来定制、扩展和调整 Aladdin 以满足客户的需求。 icon
  • 我们都喜欢建立绿地新项目。 但不可避免的是,开始一个新的项目需要与商业利益相关者进行大量的会议,以确定初始需求和典型的数据模型。这些都是......不那么有趣的。 当这些会议之一发生在高碳水化合物的午餐之后(米面等精致碳水导致胰岛素 icon
  • 验证是区别于业务规则的定义。 本文提出了软件开发中验证的定义:介绍了我目前是如何区分验证和业务规则的。我发现这种区分是有用的,尽管这也许是一个因果关系颠倒的例子。我的定义是这样的: icon
  • 任何给定软件项目的成功都可以归结为一个相当简单的定义或规则:我们需要构建正确的东西,我们需要正确构建这个东西。 这是一个非常抽象和简单的定义,即使不是原始的定义。然而,这是一个很难争论的问题。 icon
  • 如果有人在我早期的职业生涯中告诉我,我将成为函数式编程的有力倡导者和函数式软件工程基础书籍的作者,我一定会觉得难以相信。 函数式编程真的值得我为之奉献一生吗? 然而,一旦我体验到函数式编程的纯粹之美,就再 icon
  • 64 个软件错误、复杂的业务规则和 1580 万美元的错误! 如果我们的官僚主义使按时支付教师工资这样看似简单的事情难以完成,那么我们如何才能解决我们作为一个城市所面临的其他挑战呢? 2022 年,旧金山 icon
  • 规则是行为或行动的指南。 它为判断或评价该行为或行动提供标准。 每条规则都倾向于取消某种程度的自由。 规则是你如何在一个群体或社区内从无序中创造秩序并确保一致的 icon
  • 规则往往直接涉及到行为:不穿衬衫,不提供服务。这种规则被称为行为behavior规则。 世界上这样的规则比比皆是;商业和社会都建立在这些规则之上。 规则也可以间接地与行为相关,通过帮助形成 icon
  • 熵是一个普遍法则:如果不重新投入能量,一切都会趋于无序。软件也不例外。 当进化发展受到时间和/或预算的限制时,系统就会变得“单体”。 单体架构通常是对不一致抽象的意大利面条的委婉说法。 icon
  • Martin Fowler的同事Matthew Foster描述了团队拓扑和领域驱动设计如何帮助组织扩展技术架构和团队结构,从而显着提高开发速度。 模块化架构能改善软件交付吗?是的!但要注意一些问题。 icon
  • 事件风暴EventStorming 是一种非常流行的技术,它使我们能够比传统技术更有效地探索、分析和建模业务领域。结果是我们创建了设计更好的软件系统和问题解决者团队,而不是订单接受者。 如果使用得当,EventStorming 让我们能够发现关于我 icon
  • 英国议会下议院在1941年的闪电战中被摧毁后,上议院就如何重建下议院展开辩论。 一些人认为这是向马蹄形 "架构 "转变的机会,但丘吉尔团队主张他们保留 "对抗性的长方形架构"。他认为,这种布局本身就是英国两党制度的催化剂。议员们要么站在一方,要么站 icon
  • 讲故事使人类能够将知识传给下一代,并依赖于我们存储记忆的方式。我们可以通过举例说明,一个系统从开始到结束应该做什么,在时间轴上,而且没有分支。要做到这一点,我们需要用特定的时间线画一条线,代表状态在不同时间的不同变化。为什么是时间?时间是系统的一个重要方面,因为每个应用程序都是一个场景中的分 icon
  • 本书首先介绍了DDD的基本概念,强调了准确理解和建模业务核心领域的必要性。然后,它解释说,组织可以通过将软件解决方案与现实世界的问题领域相一致来开发更有效和更有价值的软件系统。 书中提出的一个关键观点是领域专家和软件开发人员之间合作和共同理解的重要 icon
  • 希望通过这篇文章完成的是让人们以不同的方式看待 TypeScript,并展示我认为是主流语言中最好的类型系统之一。 先上代码: icon
  • 在理解域、子域、限界上下文、模块等之间的差异时遇到过困难? 问题在问题空间中,也就是我们需要解决的问题中:Domain领域(例如,酒店)子域(例如,“预订”、“住宿”)。< icon