• 领域驱动设计(DDD)通过将精心设计的领域模型整合到软件系统中,为解决复杂业务问题提供了有价值的框架。其中,有界上下文(BC:限界上下文、有边界的上下文)的概念至关重要,它们是针对特定用户或业务挑战而定制的模型,使用共享的通用语言。然而,如何定义一个“好”的设计却是一个具有挑战性的问题。</
  • 最近,我与一位员工以上级别的工程师聊天,他一直在努力影响他的同行:每次他建议一种新方法时,组织中的其他同事却不同意,并予以回击。他希望得到我的建议,为什么他的同事总是破坏他的方法? 聊天结束后,我又与他的同事们聊了聊最近的一些分歧,他们不断强调这位 icon
  • REST 与 RPC 的争论: REST API ! = HTTP icon
  • CRUD(创建读取更新删除)虽然看起来很简单,但在大型系统中,它常常会导致代码混乱、复杂。 创建、读取、更新、删除 (CRUD) 非常常见。一般来说,它只是简单的表单,用于将数据添加到数据库并提供记录列表,您可以深入到特定记录以修改/更新现有记录或可能删除 icon
  • 集合论中的罗素悖论以及软件系统设计中过度宽容规则的问题。 罗素悖论揭示了集合论中的自指矛盾,表明过度宽容的规则可能导致难以处理的边缘情况。 软件系统中的过度宽容规则也可能引发意想不到的问题,挑战系统的可预测性和稳定性。 在软件系统设计中,需要平衡灵活性和严谨性,同时 icon
  • 测试驱动开发(TDD)是一种软件开发过程,依赖于短期开发循环的重复: 首先开发人员编写一个自动化测试用例来定义所需的改进或新功能, 然后编写代码来通过该测试, 最后重构新代码以符合可接受的标准。 然而,很 icon
  • 在 Go 编程语言(通常称为 Golang)中,术语 "上下文 "指的是上下文包及其定义的上下文类型。上下文包用于跨 API 边界和进程间传输截止日期、取消信号和其他请求范围值。 上下文包的主要目的是管理并发或分布式系统中操作的生命周期。 icon
  • JavaScript 的(function() { } )()结构初看起来可能令人困惑,但对于编写即时执行且自成一体的代码块来说,它却是一个非常有用的工具。 虽然 (function() { } )() 看起来像是大括号和小括号的奇怪组合,但它在 Java icon
  • 这里有一个使用Structurizr进行企业建模的方法的例子,其中自顶向下的系统景观图是自动生成的 这个存储库展示了一种使用 Structurizr 工具进行企业范围建模的方法;结合使用 Structurizr 本地安装、Structurizr D icon
  • “解决软件核心的复杂性” ——DDD 能成功兑现这个承诺吗? 为了诚实地回答这个问题:DDD 有助于降低复杂性吗?,我根据四个因素开发了一个个人的复杂性心理模型:F1-F4。在我看来,复杂性可以在以下情况下得到控制: 问题空间正确( icon
  • TOGAF 规定,架构视点(Architecture Viewpoint)管理架构视图(Architecture vView)。那么,如果利益相关者有疑虑,该疑虑会反馈到哪里,是架构视点还是架构视图? 解释1: < icon
  • 在构建Web应用时,使用Java的原生模块或Maven模块都无法实现有界上下文(Bounded Context)。Maven模块和Java自己模块都无法构建隐含有界上下文的模块。Maven模块在构建Web应用程序时鼓励错误的共享,如需要为每个业务上下文定义不同的模型 icon
  • Java 是一种多功能且功能强大的编程语言,以其强大的类型系统而闻名。增强类型安全性和促进代码可重用性的关键功能之一是有界类型(Bounded Type)。 有界类型允许开发人员对可用作类、接口和方法中的泛型参数的类型施加约束。通过定义这些约束,开发人员可 icon
  • (banq注)隔行如隔山 其实隔的是关键字,只要你知道那个行当的关键字,你能搜出一大把,chatgpt可以帮你找到这种关键字 icon
  • 在 Rust 中,术语“边界/界限(Bound)”通常指的是对泛型或特征边界中使用的类型的约束或限制。 让我们看一下 Rust 中使用边界的一些常见上下文: 特征边界:定 icon
  • 对真正的超级人工智能(ASI)或类人人工智能(AHI)的看法。表面上,定义已经改变,但目标应该是深刻而又极其简单的。 这个目标应该是“hello world”,让AI从说hello开始,正如人类婴儿刚开始发第一次说话声音一样,之后开始与父母沟通交流和学习。 icon
  • 在 Spring 框架中,bean 作用域决定了在应用程序上下文中作为 Spring bean 创建的对象的生命周期和可用性。每个作用域定义了 Bean 实例的保留时间以及何时创建或销毁它。它在管理应用程序各个部分的 Bean 的状态和行为方面发挥着关键作用。 icon