请告诉我使用特定框架的优点和缺点。
可以举例说明您在.net应用程序中使用过AOP的成功案例吗?
答案 0 :(得分:2)
较旧的帖子,但可能会帮助您查看产品和AOP实施的一些优点/缺点。
http://ayende.com/Blog/archive/2007/07/02/7-Approaches-for-AOP-in-.Net.aspx
答案 1 :(得分:2)
到目前为止,我们已将Spring.Net AOP用于将日志记录应用于应用程序的经典AOP示例。我没有使用任何其他可用于.Net的AOP框架。
它运行良好,没有明显的性能影响,从我们的应用程序中删除了大量过多和重复的代码,并改进了日志记录覆盖率以及日志记录信息的质量和一致性。现在,日志记录在一个地方并在一个地方配置 - 这是一项巨大的改进。
但有几点需要注意:Spring.Net AOP要求建议任何对象实现至少一个接口;也就是说,如果要将方法调用记录到对象,则该对象必须至少实现一个接口。此外,AOP在建议的方法中没有活动的可见性;也就是说,您不能使用AOP实现的日志记录来记录方法中变量的变化值。
但实际上,如果您尝试将AOP追溯应用于现有应用程序,则这主要是一个问题。无论如何编码到接口是恕我直言良好的开发实践,如果你需要记录你的方法的内部工作,这可能表明他们需要重构。
AOP确实需要一些规划来实施,并且在编码实践中需要一定的规则,但是,像自动化单元测试一样,恕我直言,这通常只能提高代码质量。