衡量指标收集在哪一层适合域驱动设计?

时间:2018-10-01 18:00:26

标签: design-patterns architecture domain-driven-design

我需要从我的域中收集和导出指标。在某种程度上,我觉得指标是基于纯业务的,因此必须在域层中。另一方面,由于计数器的正确状态取决于交易性,因此我担心将计数器的状态存储在域中

想象一下,您有一个典型的CRUD +一些次要业务逻辑DDD应用程序,并且您想要注册所有创建,更新等。然后通过端点将它们导出。您将如何设计呢?

1 个答案:

答案 0 :(得分:3)

该解决方案将根据您用于实现该解决方案的框架和技术而变化,但让我提出一些广泛适用的一般准则,

为域模型运行分析指标时,了解分析的重要性很重要。多久访问一次?指标是否用于审核日志或它们是否在推动业务决策?这些问题应指导我们使用正确的模型。

当指标与您的域一样重要时,您应该开始考虑将它们视为独立的实体。它们应在单独的上下文中设计。所需的度量和分析通常不同于传统的CRUD需求,在这里确实有必要使用单独的“有限上下文”。

如果您刚刚开始使用分析或使用的分析方法有限,则可以考虑在CRUD数据旁边放置审核日志,并在每次按需时获取度量标准信息。这样可以节省时间,因为您无需设计单独的指标上下文。