最常见领域驱动设计错误

45 4K
DDD中的错误抽象比其他设计方法具有更大的破坏性影响。这篇文章分享了 DDD 中代价最高的设计错误;导致单一和紧密耦合系统盛行的一个常见错误。背景企业中存在很多臃肿而脆弱的客户应用程序接口,而针对这种.

为什么软件工程师应该学习哲学?

44 3K
来自哈佛商业评论Marco Argenti文章:我最近告诉我的大学生女儿:如果你想从事工程职业,除了传统的工程课程外,你还应该专注于学习哲学。为什么?因为它会改进你的代码。从工程师的角度来看,这似乎有.

什么是AIMS方法?

21
AIMS 方法可在行为体和相互作用的情况下发生变化,并配备监测器,以检测早期出现的扩大或抑制迹象。"Aims" 是缩写,代表 "Actants, Interactions, Monitors, and.

两个技术小错误会毁掉一场风暴事件

41
一不小心,你可能会被事件风暴冲昏头脑,犯下这些新手错误!以下是具有技术背景的人特别容易犯的两个反模式错误! 不幸的是,这些错误可能会让一个成功的 "事件风暴 "研讨会变成一个失败的计划,让参与者尝到苦.

快速实现业务规则的开源API逻辑服务器简介

34 2K
API Logic Server 是一个开源 Python 项目。它是一个用于项目创建的CLI,以及用于项目执行的一组运行时(SAFRS API、Flask、SQLAlchemy ORM、业务逻辑引擎.

Rama通过拓扑通用语言实现ACID事务

30 3K
Rama是一个新的编程平台, Rama 的突破最重要的是,它首次出现了用于构建软件应用程序的内聚模型,无论规模如何。ACID事务ACID原子性、一致性、隔离性和持久性是数据库系统的关键特征。Rama .

简化Java数据传输对象DTO:DTO-Free Java

255 5 5K
在传统的 Java 编程中,数据传输对象(DTO) 长期以来一直是处理应用程序各层之间数据交换的首选解决方案。虽然 DTO 达到了其目的,但它们通常会导致代码臃肿、维护开销增加并降低可读性。这就是 D.

构建计费系统14个痛点

81 2K
如果您希望通过业务获利,计费和收入系统是必需的。计费是困难的、相互交织的、复杂的。三种模式这并不是计费系统所独有的。以下三种模式之一很常见:1、构建您自己的计费: 完全自主开发的解决方案。 控制力很难.

使用知识图实现领域知识建模与测试

44 5K
知识图成为现代软件工程实践的基石。知识图是一个巨大的信息网络,其中元素和想法相互链接以显示它们在现实世界中的关系。这超出了仅存储信息的数据库的范围。知识图谱还存储信息之间的联系。这使得知识图谱在各个领.

认知框架Cynefin有哪些限制?

52 2 4K
对于复杂性,人们总是想消灭它(有为),而不是去消化接受它(无为),其实,无为胜有为。1、传统教条以下是人们面对复杂性实施的教条方法: 敏捷 听上去很好,但是可能回避复杂性,因为敏捷这个词语有回避障碍的.

大局事件风暴:寻找差距

46 4K
在事件风暴上,实现下面几个步骤: 我们首先进行了一次混沌探索,从每个人那里收集了相关的领域事件。 之后,我们通过整理事件、删除重复事件和微调事件来组织混乱。 会议结束时,我们将事件按时间顺序排列。 我.

幽默:两种项目包的选择难题

126 1
左边:以领域模型为划分右边:以分层架构为划分依据.

牛津大学“领域驱动设计”课程

232
领域驱动设计(“DDD”)是一种专注于系统领域而不是技术的软件设计方法。重点是构建共享的心理模型并以尽可能简单的方式在代码中表示该领域模型。数据库存储、框架等技术细节被认为是设计的次要方面。该模块将重.

Rules:以YAML为输入的最小Go规则引擎

40
最小规则引擎,使用 yaml 作为输入,其目的是允许非程序员编辑和提供将生成特定输出的业务规则。它使用 yaml 因为有固定的语法,人们可以在线参考(不是脚本语言)。它仍然有很多冗长的内容,以方便开发.

为什么开发人员痴迷于“关注点分离”?

129 1
高级开发人员经常提到以下三件事: DRY Clean架构 关注点分离 这其实是一种宗教,教条主义。就像盲人摸大象一样,只有摸过大象才知道它有多少个部位,有多少个值得关注的地方,然后才能分离这些关注点。.

商业分析BA领域的MVP、MMF和MLP

57 2K
MVP(最小可行产品)、MMF(最小适销产品)、MLP(最小可爱产品)、原型和概念验证等术语都是产品开发中使用的概念,但它们有不同的目的并具有不同的特征。以下是它们之间差异的细分:原型: 目的:原型是.

AI专家Sean的18条智慧感悟

71 1 2K
肖恩·麦克卢尔是NonTrivial 播客的主持人,从事构建人工智能软件,研究复杂性,以下是他的一些智慧洞察:1、现实是非线性的,涉及的维度比任何简单的统计技术都可以正确建模的维度更高。如果你想对现实.

黑客马拉松 10 个最佳项目创意

85 4K
黑客马拉松是表达想法和想法并创建创新解决方案的好方法。它们由公司或组织组织,从学生那里获取知识并观察他们的工作。参与者被要求提出一些最好的项目想法。什么是黑客马拉松?黑客马拉松由“黑客”和“马拉松”两.

如何发现商业规则以及表达它们的五项基本技能

96 1 5K
人们需要哪些技能来分析正式沟通以制定商业和政府中的实用规则?源材料的解释需要什么?本讨论确定了您需要的五项基本技能。为了说明这些技能,它检查了我们一位客户的政策手册中的以下简短文字,该客户的任务是支付.

细粒度授权实施指南

74
随着网络威胁的日益复杂和监管要求的不断提高,实施强有力的授权机制变得至关重要。特别是细粒度授权,允许组织根据各种属性精细地控制对资源的访问,从而提供了强大的解决方案。在本文中,我们深入研究了细粒度授权.

陶哲轩:好的数学

76 4K
数学纯粹是逻辑性的!但数学的教学、它的价值、它的用途和它的运作方式充满了细微差别。那么什么是“好”数学呢?作为菲尔兹奖、数学突破奖和麦克阿瑟奖学金的获得者陶哲轩是当今最受尊敬、最多产的数学家之一。他与.

黄仁勋:不要学习编码

293 1 2K
不要学习编码:Nvidia 创始人黄仁勋建议走一条不同的职业道路英伟达(Nvidia)是一家由老牌显卡公司转型为人工智能巨头的公司,去年加入了 1 万亿美元估值俱乐部,随着 ChatGPT 等大型语言.

DDD中事件与命令比较

64 1 2K
在探索领域驱动设计主题时,事件和命令之间的差异以及何时应该使用哪些事件和命令?事件事件 – 当我们想要传达某事已发生并且我们并不真正关心谁将收到此通知以及他们将如何处理它时,我们会发送它。许多订阅者可.

如何为ORM胖领模型减肥?

37 7K
ORM 以及保存数据的方式可以显着影响您的设计并导致胖域模型。数据很重要,但捕获数据的方式可能会引导您走上一条需要意识到您所做的妥协的道路。我将展示一个示例,说明并非所有数据都是平等创建的。当您考虑一.

UML优点和缺点是什么?

75 2K
统一建模语言(UML)就像软件开发人员的蓝图。它通过创建显示系统不同部分如何协同工作的图表来帮助他们规划和设计复杂的系统。我们将看看 UML 的优点和缺点。了解这些可以帮助开发人员有效地使用 UML .

形式验证的历史和方法

40 3K
这篇文章主要介绍了形式验证领域的历史和数学起源,涉及了形式推理的历史演变、可证明的递归函数、逆向数学和构造性数学中的类型论。文章还提到了形式验证对编程语言理论的影响,包括类型系统的发展和依赖类型语言的.

SoftwareMill实现领域驱动设计的经验

56 3K
现代软件开发不仅需要对技术有扎实的理解,还需要对驱动软件的业务有全面的掌握。这包括操作领域和组织结构的知识。幸运的是,软件开发行业已经开发了各种技术来帮助完成这项任务。包含众所周知的模式和工具的常见保.

规则引擎与机器学习比较

79
规则引擎使用预定义的逻辑来做出决策,而机器学习算法则从数据中学习来做出预测或决策。规则引擎和机器学习代表了计算机系统中两种根本不同的决策和预测方法。虽然规则引擎根据人类设置的明确的预定义规则运行,但机.

事件溯源与流水账的结账模式

51 19K
没有人知道事件溯源Event Sourcing是谁发明的。我无意中听说是汉谟拉比发明的。为什么?因为他规范了第一套会计规则。事件溯源Event Sourcing(活动事件源)就像记账一样,我们记录每项.

复杂自适应系统的一种算法语言定义

50 4K
这篇文章介绍了复杂自适应系统(简称CAS)的定义和特征。什么是复杂自适应系统CAS? 复杂自适应系统CAS的定义:包括多个相互连接和相互依赖的交互代理,并具有非线性行为。 复杂自适应系统的关键特征:包.