我知道AOP和Postsharp但是这里的约束是我不能使用postharp并且使用属性进行日志记录会产生性能开销。
但是现在我又要把日志代码放在每个方法中,很多复制粘贴,也不是方法的一部分。所以,我的功能不止一件作品。拥有业务逻辑和一起登录有点不太好看。
无论如何都有,比如让课程开放,可以从课程或功能的外面添加日志。或者我只需要采用传统的伐木方式。
如果需要进一步的信息,请告诉我。任何好的/另一种伐木方式的建议也受到欢迎。
答案 0 :(得分:1)
正如Peter Ritchie所说,http://msdn.microsoft.com/en-us/magazine/gg490353.aspx是一个很好的解决方案。你可以看看http://www.microsoft.com/en-us/download/details.aspx?id=17866或者像Ninject这样的其他DI框架,这对于MVC项目来说是个好习惯。 无论如何,这是关于DI性能http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison的良好阐述。
答案 1 :(得分:1)
企业图书馆和团结。您可以使用合成来创建其他类的日志记录装饰器,然后将其传递给另一个类。
答案 2 :(得分:0)
您可以为班级创建装饰器,看看http://en.wikipedia.org/wiki/Decorator_pattern