Categories
程式開發

如何使用DDD方法验证业务规则


本文要点

  • 业务规则是系统拥有的特定领域知识的一个部分。
  • 合理构建的业务规则可以减少出错概率,并降低维护难度。
  • 不同业务规则的职责不同,例如提供验证或生成输出等。
  • 事件的处理方式决策会影响总体设计,并且在做出任何决策之前都需要了解其后果。
  • 应该围绕用户执行的任务来构造命令方法,并提供清晰的输出。

谈到业务规则,如果你是一名技术人员,可能首先想到的是代码行或业务规则引擎(如果你正在用的话)。但与编码相比,规则更接近知识管理的范畴。例如,建筑部门的员工了解许多关于卧室最小尺寸的规则,或者一片空间定义为卧室或书房的所需特征。如果一个人了解一个领域的规则,知道如何应用它们,就会成为这个领域的专家。我们的目标是创建模拟领域专家行为的软件应用程序。

在本文中,我将使用一个系统来管理公司的共享资源。这套系统的目标是帮助员工预订笔记本、投影仪、乒乓球桌等物品。

光是看上面一句话,你就可以立刻想出一串问题,比如:资源是什么?预订资源意味着什么?系统是否允许多次预订资源?诸如此类的问题应由领域专家回答,并将成为控制系统行为的业务规则。

这也将指导实体、值对象、命令和系统其他元素的定义。如何定义各个元素是更大的主题,超出了本文的范围。

原文链接:【https://www.infoq.cn/article/XWh38btEq0ZYNiNtJiOT】。未经作者许可,禁止转载。