在C#中面向方面编程
面向方面编程有什么好的资源来包装我的头?
PS:我需要了解AO编程,而不是可用于.NET或C#的库或框架:)
只是为了让你的头脑:它是钩住事件的能力,如:创build对象,设置属性等,并附加一般function给他们,这将填充相关的上下文。
因为C#没有内置的工具,所以你需要一个像PostSharp这样的框架来做'字节码编织'(也就是直接编写代码,直接调用你的类)来模拟它。
什么是及时的问题?
这里是值得倾听的播客。
这会给你一个很好的概述什么是AOP? 哪里可以使用?
希望有所帮助。
下面的一个很好的链接,向你展示了如何编写你自己的AOP框架。 不幸的是,所有的消费类都必须从MarshalByRefObject
inheritance(通过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经常与拦截呼叫并在后台执行任务的代理类一起工作。