DDD领域驱动设计
代码共享的四种方法
在多个服务之间共享代码可能会成为项目团队争论的话题。服务涵括范围越大,关于如何在不同服务之间共享功能的争论就越激烈。 一方面,开发人员认为 DRY(不要重复自己)是正确的做法。 另一方则是 "无共享 .
使用大模型Transformer提升商品推荐的用户体验
所有表/实体上是否都有“created_at”和“last_update_at”字段?
您所有表/实体上是否都有“created_at”和“last_update_at”字段?为什么?这是好还是坏做法? 网友:1、大多数模型相关表都有created_at、updated_at,如果我使用.
基于DDD知识揭示Go中结构指针两个优点
当谈到 Go中结构体值时,人们纠结:通过指针传递这些值还是只是复制值? 由于指针会带来一些开销,因此人们自然的反应是不惜一切代价避免使用它们,并尽可能传递结构值复制副本。 而我通常选择使用指针结构的两.
最常见领域驱动设计错误
DDD中的错误抽象比其他设计方法具有更大的破坏性影响。这篇文章分享了 DDD 中代价最高的设计错误;导致单一和紧密耦合系统盛行的一个常见错误。背景企业中存在很多臃肿而脆弱的客户应用程序接口,而针对这种.
两个技术小错误会毁掉一场风暴事件
一不小心,你可能会被事件风暴冲昏头脑,犯下这些新手错误!以下是具有技术背景的人特别容易犯的两个反模式错误! 不幸的是,这些错误可能会让一个成功的 "事件风暴 "研讨会变成一个失败的计划,让参与者尝到苦.
简化Java数据传输对象DTO:DTO-Free Java
在传统的 Java 编程中,数据传输对象(DTO) 长期以来一直是处理应用程序各层之间数据交换的首选解决方案。虽然 DTO 达到了其目的,但它们通常会导致代码臃肿、维护开销增加并降低可读性。这就是 D.
使用知识图实现领域知识建模与测试
知识图成为现代软件工程实践的基石。知识图是一个巨大的信息网络,其中元素和想法相互链接以显示它们在现实世界中的关系。这超出了仅存储信息的数据库的范围。知识图谱还存储信息之间的联系。这使得知识图谱在各个领.
认知框架Cynefin有哪些限制?
对于复杂性,人们总是想消灭它(有为),而不是去消化接受它(无为),其实,无为胜有为。1、传统教条以下是人们面对复杂性实施的教条方法: 敏捷 听上去很好,但是可能回避复杂性,因为敏捷这个词语有回避障碍的.
大局事件风暴:寻找差距
在事件风暴上,实现下面几个步骤: 我们首先进行了一次混沌探索,从每个人那里收集了相关的领域事件。 之后,我们通过整理事件、删除重复事件和微调事件来组织混乱。 会议结束时,我们将事件按时间顺序排列。 我.
幽默:两种项目包的选择难题
牛津大学“领域驱动设计”课程
领域驱动设计(“DDD”)是一种专注于系统领域而不是技术的软件设计方法。重点是构建共享的心理模型并以尽可能简单的方式在代码中表示该领域模型。数据库存储、框架等技术细节被认为是设计的次要方面。该模块将重.
如何发现商业规则以及表达它们的五项基本技能
SoftwareMill实现领域驱动设计的经验
现代软件开发不仅需要对技术有扎实的理解,还需要对驱动软件的业务有全面的掌握。这包括操作领域和组织结构的知识。幸运的是,软件开发行业已经开发了各种技术来帮助完成这项任务。包含众所周知的模式和工具的常见保.
Go中struct嵌套与面向对象以及上下文
我一直倾向于尽量避免Go struct结构体嵌入,因为我发现这样做会增加阅读难度,因为这个 "上帝结构体god struct "恰好实现了大量独立的接口,并被传递到很多地方。不过我还是想听听其他人的意.
DDD中用于领域驱动探索发现的新Miro模板
在 SingleStone,我们不断改进方法,帮助客户使用领域驱动设计 (DDD)实现架构现代化。什么是领域驱动探索发现?领域驱动探索发现是一组指导性的可视化步骤,可帮助团队充满信心地快速创建现代架构.
jMolecules:Java中DDD模型与架构的抽象库包
这是一组库,可帮助开发人员以无干扰、简单的旧式 Java 实现DDD领域模型。jMolecules 背后的想法 明确表达架构概念,以便于代码阅读和编写。 使特定领域的代码免受技术依赖。减少样板代码。 .
Cynefin是认知框架,不是模型
这篇文章讨论了Cynefin框架与模型的区别,强调了Cynefin作为一个框架的重要性,以及它在复杂系统中的应用。 Cynefin是一个框架,不是一个模型,其目的是测试想法而不是代表现实。 作者指出了.
事件风暴中如何识别聚合?
事件风暴是一种强大的技术,用于映射不同抽象级别的系统的复杂性。这种协作方法使团队能够可视化并理解域内的事件、操作和策略的流程。 大局级别在事件风暴的大局层面,主要目标是建立系统的总体视图。该阶段是整个.
庆祝领域驱动设计 (DDD) 和EIP诞生20多年
二十年后,《领域驱动设计》和《企业集成模式》依然是信息技术领域中至关重要的经典书籍,因为它们关注的是概念和折衷方案,而不是特定的技术。DDD和EIP的相关性得以持续,因为它们不仅简化了复杂系统的设计和.
3分钟大局事件风暴
这篇文章总结了关于大局事件风暴的文章的要点。它还包含有关大局事件风暴后该怎么做的参考!为什么要举办一场大局事件风暴我们首先讨论了为什么要举办一场大局事件风暴?我们看到事件风暴是大前期设计和 100% .
Spring文档:DDD主导Spring Data JDBC的实现
所有Spring Data模块的灵感都来自Domain Driven Design中的“repository”、“aggregate”和“aggregate root”概念。这些对于Spring Da.
系统分析中循环流程图 (CFD)
在错综复杂的商业分析世界中,了解各种经济主体之间复杂的相互作用对于做出明智的决策至关重要。在理解这些相互作用方面发挥关键作用的工具之一是循环流程图(CFD)。这种视觉表现形式起源于经济学领域,现已进入.
工程师与知识流失的斗争
这篇文章主要讨论了在公司中知识流失的问题,特别是从工程师的角度出发。作者提出了“生物数据存储”这个术语,强调了每位员工在保存和传递知识方面的关键作用。文章指出,知识流失可能会对组织的沟通结构和系统设计.
什么是流程编排协调?
流程编排协调,或者更具体地说流程协调,是包括医疗保健和金融服务在内的许多行业的一个重要方面。它涉及各种人员、流程和技术的协调,以实现特定的目标或结果。协调存在多个层次,每个层次都有自己独特的特点和要求.
Wardley地图 vs. Cynefin方法论
如何将Wardley 地图与 Cynefin 结合起来? 它们是相辅相成的工具,既不能相互替代,也不能混为一谈,形成 "整体 "观点。 它们从不同的视角探索问题空间,两者本身都很有用,应该一起使用。 .
问题 vs. 解决方案 ?
经常遇到问题空间和解决方案空间这两个短语。人们使用这些词来尝试阐明他们所指的工作和活动的类型,或者他们在构建新事物的过程中所处的位置。不幸的是,我注意到这些词非但没有帮助沟通,反而非常含糊,以至于我们.
DDD中如何破解上下文划分难点?
Java中的规则引擎
Java 中的规则引擎为我们提供了一个以灵活且定义的方式管理和执行业务规则的框架。这些引擎使开发人员能够在不更改核心应用程序的情况下更轻松地修改和理解规则,从而将业务逻辑与应用程序代码分开。规则引擎旨.
领域建模中容易出错的部分
领域建模是考虑实体和它们之间的关系?啊,不太好。 虽然这通常是典型的建议的例子,它实际上是落后的。 不要构建数据库模式/结构。如何对复杂的领域进行建模?在领域驱动设计中,您在领域建模时可能会考虑实体、.