【发布时间】:2014-06-23 06:53:11
【问题描述】:
我的域层中有一些非常昂贵的业务逻辑,必须在其中跟踪数据,以便了解发生故障时发生的情况。正因为如此,我想声明一个简单的日志接口:
public interface ILogger {
void Log(LogEntry entry);
}
现在我的问题是——这个接口属于哪里?当然,日志记录可能是一个基础设施问题(以及一点跨层问题),但如果我将它放在基础设施层,我的域服务将无法访问它。如果放到域层,我引入了登录到我的域的概念,感觉很别扭。
我已经在我的应用程序中使用了 CQRS 和 EventSourcing 中的某些概念,但是为域服务中的数据发生的所有事情抛出一个事件似乎是一种矫枉过正(尤其是当数据处于不存在的状态时)在进行进一步的转换之前,不会由域服务返回。)
【问题讨论】:
-
失败是技术性的,还是您与您的企业谈论的失败?
标签: c# logging domain-driven-design onion-architecture