是否有任何好的资源可以围绕面向方面的编程?
PS:我需要了解AO编程,而不是.NET或C#可用的库或框架:)
答案 0 :(得分:53)
只是为了了解它:它是挂钩事件的能力,例如:创建对象,设置属性等,并将一般功能附加到它们,将填充相关背景。
因为C#没有内置的工具,你需要一个框架,比如PostSharp,来做'字节码编织'(即只是编写代码来实际调用,直接到你的类)来模拟它。 / p>
答案 1 :(得分:3)
面向方面编程意味着具有元级别,您可以定义日志记录或安全/访问控制功能以与代码交织,而不是在代码中实现这些功能。因此,不必是一维的,你必须编程二维。
我知道这听起来很无聊,但一旦理解就很容易。
AOP通常与代理类一起使用,代理类拦截调用并在后台执行操作。
答案 2 :(得分:3)
答案 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