包装log4net减少耦合反模式?或者将记录器实例注入到一个公共属性中的反模式?你如何处理log4net依赖?包装log4net减少耦合反模式?
3
A
回答
0
service locator是considered和anti-pattern许多人都在.NET社区的前沿。我会说日志记录通常是我们应用程序的一个非常良性的特征。它基本上是“只写”。我们从不根据日志系统的查询做出决定。
log4net的也是一个系统,很容易关闭,不会引发异常,就会失败,可以动态更新其配置......有几乎没有理由换出的实施一旦其英寸
所以,我说,在应用程序代码中,可以直接使用它。
0
我们定义了一个日志接口,并有一个log4net实现,一个unitTest实现和一个null实现。
我们使用依赖注入来传递一个loggingInterface实现。
单元测试实现有其他方法,比如'bool ErrorWasLogged()',这样在我们的单元测试中我们可以断言重要的信息被记录下来。对于我们对测试记录不感兴趣的测试,我们使用null实现。
1
裹低于原因记录仪 -
- ,如果你想改变它的东西更好地没有级联变化,提取出只记录仪的变化,在未来的。
- 当你想写测试用例时,它使你的生活变得简单。你可以轻松地嘲笑所需的东西。
- 如果由于某些原因,您需要在应用程序中使用多个记录器,那么包装器将有所帮助。您可以通过某些工厂/注册表更改记录器。例如 - 如果代码在不同的平台/环境中共享,您希望有不同的记录器。你可以使它工厂/注册表驱动。
所以,我认为很好包装它。
相关问题
- 1. Observer模式如何减少耦合?
- 2. 组合vs减少耦合?
- 3. 简单的提示,以减少耦合
- 4. 减少实体中的耦合
- 5. MVC,减少Gui和核心包之间的耦合
- 6. 减少测试用例之间的耦合
- 7. 上帝的对象 - 减少耦合到'主'对象
- 8. 如何在事件总线实现中减少耦合
- 9. 松散耦合的观察者模式
- 10. 避免与策略模式耦合
- 11. 紧耦合和松耦合
- 12. javascript游戏我应该如何减少主窗口中实体的耦合?
- 13. 建模松散耦合域模型
- 14. 在反应减少应用程序中减少回调样板
- 15. 解析表达式时没有混合运算符时减少/减少冲突
- 16. 减少和合并阵列
- 17. 结合地图和减少
- 18. 更好的方式来写封装类来获得松耦合
- 19. 模板模式违反封装?
- 20. “耦合”NSWindows
- 21. C#松耦合
- 22. RxJava:减少或合并或合并
- 23. websockify,noVNC在包装模式
- 24. 装修模式与合同
- 25. XSL模板 - 减少复制
- 26. 包装/ demeter定律似乎是反模式
- 27. 模型之间的MVC耦合
- 28. 模块化设计和耦合
- 29. 如何使用包装类时log4net的
- 30. 如何在包装Log4net时记录MethodName?
你能解释一下横向层的含义吗? – ewall 2009-12-24 20:19:41
通过横向我的意思是这层将可用于所有其他层,如安全层 – 2009-12-27 22:51:33