解决方案的某些类非常依赖于使用业务规则来从解决方案中提取可变性并进行具体化(externalize),从而使规则能够在主应用程序逻辑外部演进。
从包含业务实体和业务规则的业务分析模型,可以定义封装业务规则的服务,从解决方案的剩余逻辑对它们进行具体化。 下图展示了一个小型的业务分析模型样例,该样例中显示了两条与名为“订单”的业务实体相连的业务规则。
这些与业务实体相连的规则最可能对应于实体上的不变量,因此一旦实体的状态发生任何改变,就会对其进行评估。 规则还可以与操作或流程相连,更多的时候则是作为操作的前置条件或后置条件。
在对上述示例建模时,假定在从业务规则派生的服务规范之间以及从业务实体派生的消息之间存在可跟踪的关系。
在许多情况下,将复杂的规则聚集为规则集,这更适用于服务的详细程度,例如允许文档传递给验证服务,这种情况下将对该组规则进行评估并返回结果。
通过上述示例,我们可以很容易地想象出验证服务实际上包含一组很复杂的规则,它们用于验证所订购的商品、数量等方面的一致性。
|