在C#中面向方面编程

面向方面编程有什么好的资源来包装我的头?

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

只是为了让你的头脑:它是钩住事件的能力,如:创build对象,设置属性等,并附加一般function给他们,这将填充相关的上下文。

因为C#没有内置的工具,所以你需要一个像PostSharp这样的框架来做'字节码编织'(也就是直接编写代码,直接调用你的类)来模拟它。

什么是及时的问题?

这里是值得倾听的播客。
这会给你一个很好的概述什么是AOP? 哪里可以使用?

希望有所帮助。

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

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

检查了这一点,它描述了如何使用postharp实现AOP(日志,计时,跟踪,exception处理…)

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

面向方面编程(Aspect Oriented Programming)意味着拥有一个meta级别,可以定义日志logging或安全/访问控制function,与代码交互,而不是在代码中实现这些function。 所以,不是一维的,你必须编程二维。

我知道这听起来很可笑,但一旦你明白这一点很容易。

AOP经常与拦截呼叫并在后台执行任务的代理类一起工作。