应该在哪里DDD解决方案中记录的逻辑坐?

我创建了一个自定义过滤器对我的MVC应用程序[LogAttribute] 操作方法都装饰着这一点,它有责任创造一个LogEntry对象传递到某种类型的供应商- ILoggerProvider

我的问题是,应该在哪里ILoggerProvider和它的实现坐(我会想它使用DI技术)? 如果他们走在领域模型,用户界面​​项目或一个单独的类?

--------------解决方案-------------

由于记录无关,与用户界面,这是definetly错了地方。 领域模型是有在我看来,数据的代表性。 所以我会做一个独立的类,甚至一个单独的项目。

我有一个MVC应用程序,我有一个日志服务一个单独的项目。 在我的结构是在最底层(数据存取),因为它直接登录到文件和所有其它服务都使用它。 我还用DI它与使用MEF框架。

这一直工作正常,我一会,我不想因为那么改变它。 我有我一段时间后跳过,因为他们不是优雅是我目前的解决方案使用其他解决方案。

希望可以帮助你与你的决定。

除非你的软件的主要功能是记录或者审计 ,它应该是一个基础设施LoggingService。

除非你的日志实现紧耦合与你的域对象(我希望这不是!),我会建议一个完全独立的组件。

我一般倒是主张ILoggingProvider应的域模型内坐了几个原因。 从物流和理智的角度来看,你的域类可能需要参考的记录。 从DDD的角度来看,由于萨班斯法案的世界,这样我们生活在,我们可以说,记录是法规遵从一个核心结构域的功能。

现在,实现可以在你的基础设施项目肯定坐客,无需杂乱的模型一切。

分类:C# 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.597 (s). 10 q(s)