披着log4net的,以降低耦合反模式?

披着log4net的,以降低耦合反模式? 或注射的记录器实例变成公共财产的反模式? 你如何接近log4net的依赖?

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

总结一个记录器下面的原因 -

  1. 它隔离的变化只记录仪,在未来,如果你想改变它的东西更没有级联变化。
  2. 它使您的生活更轻松,当你想要编写测试用例。 您可以轻松地模拟所需要的东西。
  3. 如果由于某种原因,你需要在你的应用不止一个记录器,然后包装帮助。 您可以通过一些工厂/注册表,更改记录。 前 - 如果代码中,你希望有不同的记录器不同的平台/环境共享。 你可以把它的工厂/注册表驱动。

所以,我的观点是很好的把它包起来。

服务定位器是由许多在.NET社区的前缘认为反模式。 我要说的是,日志记录通常是我们的应用程序的一个非常良性的功能。 它本质上是“只写”。 我们永远不会做基于日志系统的查询决策。

log4net的也是一个系统,很容易熄火,不抛出异常,无提示失败,可以动态更新其配置......有几乎没有理由换出的实施一旦其研究。

所以,我要说的是,在应用程序代码,它的确定直接使用它。

我们定义一个日志接口,并具有log4net的实施中,一个单元测试执行和一个空的实现。

我们使用依赖注入是传递一个loggingInterface实现。

单元测试的实现具有额外的方法,如“布尔ErrorWasLogged()”,从而使我们的单元测试,我们可以断言,重要的信息被记录。 对于测试,我们没有兴趣在测试中发生了什么记录,我们使用了null实现。

分类:设计模式 时间:2015-03-15 人气:0
分享到:

相关文章

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

55228885 版权所有 京ICP备15002868号

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