Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
DDD领域驱动设计
使用 Spring Modulith 改进模块化整体应用
在第一篇文章:使用Spring Boot和领域驱动设计实现模块化整体中,我们了解了如何使用 Spring Boot 和 DDD 构建和实现模块化整体应用程序。
使用Spring Boot和领域驱动设计实现模块化整体
用模块化整体架构编写的代码实际上是什么样的?借助 Spring Boot 和 DDD,我们踏上了编写可维护和可演化代码的旅程。 当谈论模块化整体代码时,我们的目标是以下几点:应用程序被组织成模块。每个模块解决业务问题的不同部分。</
REST与RPC = 面向对象和函数编程
REST 与 RPC 的争论: REST API ! = HTTP
领域模型优先于数据库表
由 Mark Seemann 发布:在讨论数据库,特别是 ORM 时,有些人会不言而喻地假设关系数据库是存储数据的唯一选择。 许多程序员在关系数据设计方面非常熟练,他们在思考新问题时自然会使用这些技能。
掌握战略领域驱动设计
首先了解您的领域:每个公司都有自己的业务领域(有时有几个,有时几十个,有时数百个),在其中运营和赚钱。 如果你不能很好地理解这个领域,从长远来看你很可能会失败。在任何项目开始时——当我们的知识非常有限时——我们必须做出很多不同的决定。然后,随着时间
业务规则和验证的区别?
将业务规则与琐碎的验证相混淆,将不会带来任何好处。当你所拥有的只是琐碎的验证时,不要把事情复杂化。 让我们立即从一个非常简单的代码示例开始。这是一个有两个条件的单一方法。 第一个是,如果数量参数小于或等于零,我们将抛出异常。
微前端是模块化后的最终选择
微前端应作为彻底解耦代码和依赖关系后的最后手段。 分布式单体很难管理,并有可能在多个代码库中重新引入相同的问题。 在拆分之前,需要进行彻底的重构,以尽量减少孤立部分之间的
代码内聚性
在软件开发的动态环境中,代码内聚性的概念是创建高效且可维护的应用程序的基石。尤其是在Java这种以其健壮性和可扩展性而闻名的语言中,理解和应用内聚性原则可以显着提高软件项目的质量。 本文深入探讨了 Java 中的代码内聚性领域,提供了见解、实际示例和最佳实
什么是自足系统(Self-contained Systems)?
自足系统(又称为自包含系统、自我独立系统,英文Self-contained Systems,简称SCS)是一种软件架构方法,SCS 包含自己的 用户界面、特定的 业务逻辑 和单独的 数据存储
Protégé :斯坦福的开源本体编辑器和框架
Protégé 是一个本体编辑器,受到强大的用户和开发人员社区的积极支持。它完全支持最新的OWL 2 Web本体语言和RDF规范。 Protégé 基于 Java,可扩展,并提供“即插即用环境,使其成为快速原型设计和应用程序开发的灵活基础。
利用大语言模型辅助领域建模
对于生成式人工智能系统来说,在复杂的现实世界领域中航行是一项艰巨的挑战。不过,现在一种很有前途的方法照亮了前进的道路。 通过首先深入理解数据,我们可以将原始输入转化为经过验证的结构,从而优化人工智能推理。映射到关键任务的特定领域建模就像一个解释透镜,能将噪
如何表达业务规则?用声明方式!
下面这个比喻可以说明声明性规范与过程性规范之间的区别: 编写一个计算机程序。 在单独的卡片上注明每条语句。 将这卡片交给操作员执行。 确保程序运行正常,没有错误。 将卡片高高抛起。 按随机顺序捡起地上的卡片(确保没有遗失任何一张,而且都
DDD中如何为聚合模型减负?
业务需求场景: 商品应在提交订单时为客户保留。 仅仅将商品添加到购物车并不能保证产品的可用性。 客户不能将已经缺货的产品加入购物车。 事实上,这并不是什么花哨的要求。我曾经做过一个电子商务项目,就有这样的功能。当深入研究领域驱动设计时,我开始思考如何
离开Java/C#并不喜欢在Go中看到DDD
我注意到,在 Gophers 的小圈子里,他们离开 Java/C# 的动机是渴望一种更简单、更直接的编程方法,以避免与 DDD 和其他强调松散耦合的范式相关的复杂性和不可预测性。 他们表示,之所以转用 Go,是因为他们的编程理念是强内聚而非松耦合。
基于状态机实现的DDD聚合根Order对象
展示一段示例代码 - Order 类。此类在我们的示例 DDD/CQRS/ES 应用程序中使用。我们正在
领域驱动设计兑现承诺了吗?
“解决软件核心的复杂性” ——DDD 能成功兑现这个承诺吗? 为了诚实地回答这个问题:DDD 有助于降低复杂性吗?,我根据四个因素开发了一个个人的复杂性心理模型:F1-F4。在我看来,复杂性可以在以下情况下得到控制: 问题空间正确(
使用双时态 EventSourcing 修复过去并应对未来
使用 事件溯源EventSourcing 的感觉非常棒。系统中有发生的事件的历史记录。这使得调试变得更加容易。 然而,事件溯源并不能保护我们免受用户犯错误的影响。 我们应该如何处理用户输入错误的情况呢?<
大规模实时机器学习处理架构简介
Netflix 是迈向实时数据基础设施的公司的典范 ,这使得 Netflix 能够通过多种方式改善用户体验,例如改进“Trending Now”主屏幕上的推荐、快速测试生产中的更改以及最大限度地减少 Netflix 服务的停机时间。 数据处理领域的
上页
下页
关闭