代码之家  ›  专栏  ›  技术社区  ›  David Neale

DDD解决方案中的日志逻辑应该放在哪里?

  •  2
  • David Neale  · 技术社区  · 14 年前

    我已经为我的MVC应用程序创建了一个自定义过滤器, [LogAttribute] . 动作方法是用这个修饰的,它有责任创建一个 LogEntry 对象传递给某种类型的提供程序- ILoggerProvider .

    我的问题是,你应该去哪里 它的实现是sit(我想在它上面使用DI技术)?它们应该放在域模型、UI项目还是单独的类中?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Marks    14 年前

    在我看来,域模型是用来表示数据的。 所以我会在一个单独的班级,甚至是一个单独的项目里做。

    这对我来说已经很好用了一段时间了,从那时起我就不想改变它了。 我有其他的解决方案,我跳过了一段时间后,因为他们不是优雅的使用我目前的解决方案。

    希望这对你的决定有帮助。

        2
  •  10
  •   Vijay Patel    14 年前

    除非你的软件的主要功能是 登录中 基础设施日志服务 .

        3
  •  5
  •   Wyatt Barnett    14 年前

    我通常认为ILoggingProvider应该位于域模型中,这有几个原因。从逻辑和健全性的角度来看,您的域类可能需要引用记录器。从DDD的角度来看,考虑到SOX的世界以及我们所处的环境,可以认为日志记录是法规遵从性的核心领域特性。