Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
DDD领域驱动设计
什么是Context上下文?
当你没有意识到上下文时,你永远就被置于上下文中!中国谚语:当局者迷、灯下黑、身在庐山不识庐山真面目。G.K.切斯特顿:每一个高级文明都会因为忽视显而易见的事情而衰败。 [b]Context[/b] [list] [*]Context; [url=
幽默:没有逻辑约束的微服务
图中鸡蛋克和鸡蛋黄以及炉火三个微服务,如果为了吃一个煎鸡蛋,需要聚合这三个微服务调用。 这是过于细分导致的问题
高内聚低耦合的集中决策设计
假设,我们正在构建另一个电子商务平台。其关键业务流程之一当然是处理订单。付款成功后,订单模块(域)必须异步调用仓库,准备购买的货物。然而,这些货物可能并不在那里。通常情况下,这不是什么大问题,因为我们可以从供应商那里获得。但是,如果有任何物品已经没有了怎么办?订单已经下了!钱已经转手了。我们的客户已
什么是团队拓扑? - martinfowler
任何大型软件工作,如大公司的软件产业,都需要大量人员,而只要有大量人员,就必须想办法把他们分成有效的团队。 组建以业务能力为中心的团队有助于软件工作对客户的需求做出响应,但所需的各种技能往往让这些团队不堪重负。 团队拓扑(Team Topologies)是马修-斯凯尔顿(Matthew Skelto
概念、实体、数据三者之间区别?
假设一个场景:与客户讨论开始新的工作: 客户:我们的用户需要处理三种不同类型的任务:快速任务、复杂任务和监督任务。 我们:它们之间有什么区别? 客户:快速任务只是登记某人做了某事。真的很简单。 我们:嗯。 客户:复杂的任务比较麻烦,需要特殊设备和资格卡。 我们:监督任务呢? 客户
DDD:从聚合到函数组合的改变
来自OSKAR DUDYCZ的DDD变化旅程。 这是我目前所处的进化阶段: 我从经典聚合开始,遵循领域驱动设计和典型的面向对象战术模式。因此,将数据和行为封装在一个类中。然后,仅允许通过公共方法进行更改,并仅以只读模式
Clean整洁架构的文件结构实现
下面是推特网友mjovanovictech对整洁架构(Clean Architecture)文件夹结构的方法。 专注于功能,而不是类型。 让我们以应用层为例: 应用 |__ FeatureFolder1 |_____ Feature1A |_____ Feature1B |__ FeatureFol
结合大语言模型灵活性和规则引擎可预测性
大语言模型LLM系统(如ChatGPT)特点:灵活且惊人,但不可靠。 规则引擎(如Drools)特点:稳定,可预测性、可跟踪性。 使用langchain4j将大语言模型与业务规则引擎结合起来。 训练有素的深度学习模型为您提供的功能和灵活性实际上是无限的,但通常,至少在应用程序的某些部分,您需要的是
微服务Saga分布式事务是一种反模式
Saga通常被定位为处理分布式事务的更好方法。我认为讨论佐贺的优点和缺点没有意义,因为Saga根本不应该在基于微服务的系统中使用: [b]如果你需要跨几个微服务的分布式事务,很可能你错误地定义和分离了领域。[/b] [b]作为分布式系统的微
fmodel-rust:使用Rust实现函数式领域建模的开源示例
当您开发信息系统来自动化业务活动时,您就是在对业务进行建模。您设计的抽象、实现的行为以及构建的 UI 交互都反映了业务 - 它们共同构成了域的模型。 这个项目可以用作库包,或作为灵感,或两者兼而有之。它提供了足够的战术领域驱动设计模式,并针对事件溯源和 CQRS 进行了优化。 抽象与概括
好规则的标准:切实可行
规则必须是具体和明确的,否则在遵守、确定和计数方面就无法做到有章可循。好的规则可以避免主观性和不可能。 这些规则经过解释(深入研究),可以直接使用或应用。 换句话说,好的规则是可以付诸实践的。 在本文中,罗恩将讨论表达规则的黄金标准: 假设你正在接受餐厅主持人的培训。你读到或听到了以下陈述:
构建软件最困难的部分不是编码,而是需求
在所有关于人工智能的发展有多么令人惊叹的文章中,有很多人都在担心,我们这些软件开发人员可能很快就会失业,被人工智能所取代。他们想象所有的企业高管和产品研究人员都会绕过大部分或全部的软件开发人员,直接让人工智能来构建他们认为想要或需要的东西。作为一个花了 15 年时间根据这些人创建的规格来创建软件的人
从贫血领域模型重构为充血领域模型
贫血领域模型是一个没有任何行为、只有数据属性的领域模型。 缺血(贫血、失血)领域模型在简单的应用程序中工作得很好,但如果您有丰富的业务逻辑,它们就很难维护和发展。 业务逻辑和规则的重要部分最
如何表达业务规则?用声明方式!
下面这个比喻可以说明声明性规范与过程性规范之间的区别: [list] [*]编写一个计算机程序。 [*]在单独的卡片上注明每条语句。 [*]将这卡片交给操作员执行。 [*]确保程序运行正常,没有错误。 [*]将卡片高高抛起。 [*]按随机顺序捡起地上的卡片(确保没有遗失任何一张,而且都
微前端是模块化后的最终选择
微前端应作为彻底解耦代码和依赖关系后的最后手段。 [b]分布式单体很难管理[/b],并有可能在多个代码库中重新引入相同的问题。 在拆分之前,需要进行彻底的重构,以尽量减少孤立部分之间的相互依赖。 虽然拆分代码可以带来
什么是领域驱动设计?它是如何工作的?
与业务领域无缝集成的软件能为企业带来一系列强大的优势。它可以简化操作,增强以用户为中心的功能,并为利益相关者提供实时洞察力,以便快速做出深思熟虑的决策。DDD 是一种软件开发方法,擅长在领域专家和开发人员之间提供这种一致性,将软件功能与业务需求直接联系起来。 DDD 有许多组成部分和概念,以下是其中
以患者为中心的医疗保健领域驱动设计
让我们了解传统的电子健康记录 (EHR)。通常,EHR 被视为医疗保健提供商购买、部署并通常与其他系统集成的应用程序或系统。这些 EHR 以组织为中心,旨在满足采购实体的需求,并且重点关注流程和计费。它们往往是单一的,具有专有的内部结构和产品内有限的互操作性
洋葱片架构 - odrotbohm
15年的洋葱架构是时候整容了。 自 Jeffrey Palermo 发布他的洋葱架构系列第一篇博客以来,已经过去了几乎整整 15 年。在那篇文章中
上页
下页