• 通过一个具体的例子告诉你我们如何在 Java 中实现一个只允许根据业务规则定义良好的状态转换的域模型,然后使用 Spring 在一个REST-API 中发布它。看看我们如何构建一个完全由该 API 驱动的简单 Web 应用程序。该实现使用来自领域驱动设计(DDD) 的概念,这是一种软件工件试
  • 为什么我们系统的模块耦合度如此之高?是因为他们缺乏凝聚力吗?(banq注:为什么人员在团队之间流动这么频繁?为什么团队之间开会如此频繁?是因为这些团队内部缺乏凝聚力吗?缺乏核心凝聚吗?) 案例:有人说:我们的系统是自 COBOL 和 FORTRAN 时 icon
  • 较大的“整体”并不总是与“部件”属于同一组,例如,“一群人”与“人”不属于同一个集合,否则你会范分类错误。banq注:集合Collection与集合中元素不属于同一类型,在Java中集合的类型是Collecion,而元素是各种对象类型如String、Long等。DDD聚合与实 icon
  • 谷歌工程主管乔·林奇的文章,获得SOLID原则作者鲍勃大叔点赞转发的文章:作者推荐将SRP视为DDD原则的自然结果:跨DDD限制上下文共享的模型是不安全的。 icon
  • 这篇文章将介绍一种使用DDD和Clean Architecture构建应用程序的观点性方法。我所说的 "观点 "是指,我将论证解决应用程序设计和架构中几个众所周知的问题的特定方式。当然,这并不意味着这是实现这些问题的唯一正确方法。然而,它是DDD和架构领域长期以来的研究过程和 icon
  • SOLID原则是建立一个组件间低耦合度的系统的有力工具。 首先对这些原则做一个简单的回顾: SRP:单一责任原则 OCP:开放封闭原则 Liskov替代原则 接口隔离 依赖性反转 icon
  • Anderson (1972) 的 icon
  • 在数据库思维的程序员眼中,主键是建立表关系的必需,但是在面向对象或DDDer眼中,只需通过对象引用建立两个对象的关系,ORM工具忙于在两者之间映射,而在女孩子思维中,建立两者关系是啥呢?所以,关系这个概念与哲学世界观等上下文有关。 icon
  • 我建立了一个平台和市场来创建、测试和运行股票和加密货币的交易策略。 至少在过去的十年里,我对金融和API有着浓厚的兴趣,这促使我建立了像BVNK这样的初创公司和像COVID19API这样的产品。我对投资也有积极的兴趣,作为一名软件工程师,我对技术如 icon
  • 假设我们要实现购物车。我们有以下要求:客户只能在打开购物车后将产品添加到购物车中。在选择产品并将其添加到购物篮时,客户需要提供选择的数量。系统根据当前价目表计算产品价格。客户可以从购物车中移除具有给定价格的产品。客户可以确 icon
  • 量子力学激发我们推测实体之间的相互作用关系,而不是实体本身,实体的属性是因为实体相互作用才获得定义。事物到底是由什么组成的?谁创造的?超自然者认为是上帝,物理学家认为一切都源于一个单一的原始力或粒子,或一个 icon
  • 本文的目标是研究一种特定类型的字段 —记录业务标识符。其目的是唯一标识一个记录的实例。信息系统的用户应该了解或访问该值。该值用于启动或停留在处理它标识的特定记录实例的任何业务流程的“快乐路径”上。 注意:记录业务标识符的概念与概念主键类似,但并不完 icon
  • 这是有关如何应对使用 Spring Data JDBC 时可能遇到的各种挑战的系列文章的第四篇。该系列包括: icon
  • 如何使我们的计算机语言的类型系统更智能,将类型推理从程序员转移到编译器?在当今,随着系统变得越来越复杂,移动部件越来越多,能够确保每个部件协同工作变得极为重要。Rust 的借用检查器就是一个很好的例子,对于那些不熟悉的人,以一种简单的方式,Rust 能够推理内存使用情况,抛弃手动内存 icon
  • 实体、值对象、DTO或VO、record之类基本都是只有getXX/setXX的对象(record除外),当DDD领域设计为这些对象赋予业务行为以后,这些业务行为会与技术环境如Srping管理的bean相互交互,在Clean架构中实现为适配器或端口,但是具体如何在Java中落地?另外 icon
  • 本文讨论了支持product、customer、sale和location 概念的记录类型。这些记录的名称因组织所处的业务线而异,特别是组织的销售流程。 与产品有关的记录在本系列文章中,产品的概念在第三部分 icon