Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
DDD领域驱动设计
DHH:如何从微服务中恢复?
我不否认在某些情况下微服务优先的架构很有意义,但我认为这种情况很少见。绝大多数系统都可以通过启动并保持在一个宏伟的单体中得到更好的服务。[url=
使用反需求方法寻找隐藏的业务逻辑和系统边界
我们都喜欢建立绿地新项目。 但不可避免的是,开始一个新的项目需要与商业利益相关者进行大量的会议,以确定初始需求和典型的数据模型。这些都是......不那么有趣的。 当这些会议之一发生在高碳水化合物的午餐之后(米面等精致碳水导致胰岛素抵抗 容易发困,需要午睡),你的思想很容易飘走...
验证与业务规则的区别 - Mark Seemann
验证是区别于业务规则的定义。 本文提出了软件开发中验证的定义: 介绍了我目前是如何区分验证和业务规则的。 我发现这种区分是有用的,尽管这也许是一个因果关系颠倒的例子。 我的定义是这样的: 验证是一个决定数据是否可以接受的纯函数。
什么是业务规则? - Ronald
规则是行为或行动的指南。 它为判断或评价该行为或行动提供标准。 每条规则都倾向于取消某种程度的自由。 规则是你如何在一个群体或社区内从无序中创造秩序并确保一致的经验。 每当你希望能够解释结果的 "原因 "时,你总是会
Xapo银行去中心化的DDD架构实践分享 - martinfowler
Xapo银行使用领域驱动设计、团队拓扑和架构建议流程三种方式实现企业架构的去中心化: 软件架构在构建软件系统实践中的作用一直备受争议。在大多数组织中,你会发现某种 "架构 "功能,通常打着 "企业架构 "的旗号。这通常是一个中央集权的团队,其目的是为了确保
团队拓扑:模块化与划分团队相结合
Martin Fowler的同事Matthew Foster描述了团队拓扑和领域驱动设计如何帮助组织扩展技术架构和团队结构,从而显着提高开发速度。 模块化架构能改善软件交付吗? 是的!但要注意一些问题。 这篇文章记录了一个企业的历程,他们为了减轻成长的痛苦,开始将
如何通过80%抽象建模防止单体走向混乱
熵是一个普遍法则:如果不重新投入能量,一切都会趋于无序。软件也不例外。 当进化发展受到时间和/或预算的限制时,系统就会变得“单体”。 单体架构通常是对不一致抽象的意大利面条的委婉说法。 Gusto已经建立了超过十年的薪资软件。我们现在为全国超过30万家企业提供
在单体到微服务迁移中如何重构关系数据库?
本文介绍将现有单体应用程序迁移到微服务中,如何重构数据库? 数据库重构模式 可以通过多种方式重构关系数据库(例如 PostgreSQL)以优化基于微服务的应用程序架构的效率。如前所述,数据库是结构化数据的有组织集合。因此,大多数重构模式重组数据以优化组织的功能需求,例如数据库访问效率、性能、弹性、安
黑石贝莱德如何实现基于领域驱动的资产管理?
Alan Moore (Aladdin 首席架构师、技术研究员和董事总经理)描述了贝莱德在资产管理中使用领域驱动设计DDD,以及我们如何使用它来定制、扩展和调整 Aladdin 以满足客户的需求。 Aladdin 阿拉
康威定律:团队结构与软件架构之间的相互作用
英国议会下议院在1941年的闪电战中被摧毁后,上议院就如何重建下议院展开辩论。 一些人认为这是向马蹄形 "架构 "转变的机会,但丘吉尔团队主张他们保留 "对抗性的长方形架构"。他认
业务规则的两种类型 - Ronald
规则往往直接涉及到行为: 不穿衬衫,不提供服务。 这种规则被称为行为behavior规则。 世界上这样的规则比比皆是;商业和社会都建立在这些规则之上。 规则也可以间接地与行为相关,通过帮助形成行为所依据的理解。 例如,什么是 "衬衫"?内衣算吗?坦克上衣呢?比基尼上衣?衬衫必须覆盖
使用事件风暴建模作为微服务设计的技巧 - Nick
事件风暴EventStorming 是一种非常流行的技术,它使我们能够比传统技术更有效地探索、分析和建模业务领域。结果是我们创建了设计更好的软件系统和问题解决者团队,而不是订单接受者。 如果使用得当,EventStorming 让我们能够发现关于我们的领域和我们的业务的足够信息,我们可以用它来设计我
领域驱动设计:协调软件架构和业务战略
本书首先介绍了DDD的基本概念,强调了准确理解和建模业务核心领域的必要性。然后,它解释说,组织可以通过将软件解决方案与现实世界的问题领域相一致来开发更有效和更有价值的软件系统。 书中提出的一个关键观点是领域专家和软件开发人员之间合作和共同理解的重要性。它强调了双方需要一种共同的语言来进行有效的沟通。
DDD实践中如何设计上下文BC之间的映射关系?
如何区分产品基础设施和技术基础设施 : 技术基础架构--不需要构建业务/产品背景,主要由开发人员使用。它不会立即影响用户体验,并且可以包含在一个特定的行会中。 产品基础设施——影响用户体验或有产品需求。 平台组负责产品基础设施,而相关技术组负责技术基础设施。 日志记录:属于技术基础架构,因为仅限
使用状态机和 TypeScript 进行领域建模
希望通过这篇文章完成的是让人们以不同的方式看待 TypeScript,并展示我认为是主流语言中最好的类型系统之一。 先上代码: [code]type Line = { sku: string; quantity: number; unitPr
前端能整合后端的界限上下文BC吗?
在理解域、子域、限界上下文、模块等之间的差异时遇到过困难? 问题 在问题空间中,也就是我们需要解决的问题中: Domain领域(例如,酒店) 子域(例如,“预订”、“住宿”)。 领域包含知识以及我们想要解决的一组问
关于领域建模的最佳书籍
如果有人在我早期的职业生涯中告诉我,我将成为函数式编程的有力倡导者和函数式软件工程基础书籍的作者,我一定会觉得难以相信。 函数式编程真的值得我为之奉献一生吗? 然而,一旦我体验到函数式编程的纯粹之美,就再也无法回头了。 我深入研究了Haskell和函数式C++,并开始写文章、做讲座和
1580万美元的软件错误
64 个软件错误、复杂的业务规则和 1580 万美元的错误! 如果我们的官僚主义使按时支付教师工资这样看似简单的事情难以完成,那么我们如何才能解决我们作为一个城市所面临的其他挑战呢? 2022 年,旧金山联合学区从使用了 17 年的工资单系统过渡到名为 EMPowerSF 的新系统。立即有数百名员工
上页
下页