C#中面向方面编程

时间:2009-09-13 04:52:21

标签: c# .net aop

是否有任何好的资源可以围绕面向方面的编程?

PS:我需要了解AO编程,而不是.NET或C#可用的库或框架:)

5 个答案:

答案 0 :(得分:53)

只是为了了解它:它是挂钩事件的能力,例如:创建对象,设置属性等,并将一般功能附加到它们,将填充相关背景。

因为C#没有内置的工具,你需要一个框架,比如PostSharp,来做'字节码编织'(即只是编写代码来实际调用,直接到你的类)来模拟它。 / p>

答案 1 :(得分:3)

面向方面编程意味着具有元级别,您可以定义日志记录或安全/访问控制功能以与代码交织,而不是在代码中实现这些功能。因此,不必是一维的,你必须编程二维。

我知道这听起来很无聊,但一旦理解就很容易。

AOP通常与代理类一起使用,代理类拦截调用并在后台执行操作。

答案 2 :(得分:3)

多么及时的问题?

Here是值得倾听的播客 这将为您提供关于什么是AOP的良好概述?它可以在哪里使用?

希望有所帮助。

答案 3 :(得分:3)

下面的一个很好的链接,向您展示如何编写自己的AOP框架。不幸的是,您的所有消费类都必须从MarshalByRefObject(通过ContextBoundObject)继承。

http://www.developerfusion.com/article/5307/aspect-oriented-programming-using-net/3/

答案 4 :(得分:3)

检查一下,它描述了如何使用postharp实现AOP(日志,定时,跟踪,异常处理...)

http://www.codeproject.com/Articles/337564/Aspect-Oriented-Programming-Using-Csharp-and-PostS