Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 度量收集在哪一层被认为适合于领域驱动的设计?_Design Patterns_Architecture_Domain Driven Design - Fatal编程技术网

Design patterns 度量收集在哪一层被认为适合于领域驱动的设计?

Design patterns 度量收集在哪一层被认为适合于领域驱动的设计?,design-patterns,architecture,domain-driven-design,Design Patterns,Architecture,Domain Driven Design,我需要从我的域收集和导出度量。在某种程度上,我觉得度量标准是纯粹基于业务的,因此,必须在域层。另一方面,我害怕在域中存储计数器的状态,因为它们的正确状态取决于事务性 假设您有一个典型的CRUD+一些次要的业务逻辑DDD应用程序,并且您希望注册所有创建、更新等。。然后通过端点导出它们。您将如何设计此解决方案?解决方案将根据您用于实施解决方案的框架和技术而变化,但让我提出一些广泛适用的一般性指导原则 为域模型运行分析度量时,了解分析的重要性非常重要。多久访问一次?这些指标是用于审核日志还是用于推动业

我需要从我的域收集和导出度量。在某种程度上,我觉得度量标准是纯粹基于业务的,因此,必须在域层。另一方面,我害怕在域中存储计数器的状态,因为它们的正确状态取决于事务性


假设您有一个典型的CRUD+一些次要的业务逻辑DDD应用程序,并且您希望注册所有创建、更新等。。然后通过端点导出它们。您将如何设计此解决方案?

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

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

当这些指标与您的领域一样重要时,您应该开始考虑将它们视为单独的实体。它们应在单独的背景下设计。所需的度量和分析通常不同于传统的CRUD需求,单独的“有界上下文”在这里是有意义的


如果您刚刚开始或分析分析的使用有限,您可以考虑在CRUD数据旁边拥有审计日志,并且每次按需导出度量信息。这将节省时间,因为您不需要设计单独的度量上下文。

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

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

当这些指标与您的领域一样重要时,您应该开始考虑将它们视为单独的实体。它们应在单独的背景下设计。所需的度量和分析通常不同于传统的CRUD需求,单独的“有界上下文”在这里是有意义的


如果您刚刚开始或分析分析的使用有限,您可以考虑在CRUD数据旁边拥有审计日志,并且每次按需导出度量信息。这将节省时间,因为您不需要设计单独的度量上下文。

在“etc”中还有什么?您是希望跟踪系统中的每个事件还是希望跟踪每个数据库操作?目前,只是创建/更新数据的计数器,但我必须通过监控系统的端点公开它们,以了解“etc”中还有哪些内容?您希望跟踪系统中的每一个事件还是跟踪每一个数据库操作?目前,只需创建/UPDTAE计数器,但我必须通过监控系统的端点将它们公开给Scrape我想到的是一个名为MetricCollector的bean,它位于域层,将不同的业务操作转换为内部计数器。例如,createdDomainEntity(DomainEntity)增加一个计数器。稍后,在应用层,服务只是在任何CRUD操作结束时触发这些方法,最后在基础结构层,我有一个注册表,它将计数器从MetricCollector bean绑定到监控系统的外部接口。它看起来合适吗?@whimusic看起来不错。我正在考虑一个名为MetricCollector的bean,它位于域层,将不同的业务操作转换为内部计数器。例如,createdDomainEntity(DomainEntity)增加一个计数器。稍后,在应用层,服务只是在任何CRUD操作结束时触发这些方法,最后在基础结构层,我有一个注册表,它将计数器从MetricCollector bean绑定到监控系统的外部接口。它看起来合适吗?@Whimusic看起来不错。