面向方面编程C#
回答
只是为了让你的头围绕它:它是能够钩事件,如:对象的创建,属性的设置等等,并且将一般的功能附加到它们上面,这些功能将被填充相关的上下文。
因为C#没有内置的工具,所以需要像PostSharp这样的框架来执行'字节码编织'(即直接写入代码以实际调用这些调用)来模拟它。
在附注中,http://www.postsharp.org/对它是什么以及它的用途有很好的解释。 – RCIX 2009-09-13 05:22:39
是postsharp是好东西(也有很好的网站!) – TheVillageIdiot 2009-09-13 17:35:54
运行时排出也不错。 Unity和其他人使用反射散发做方法拦截。另外.net的确有一个像Jean提到的钩子ContextBoundObjects。不幸的是,存在与上下文绑定对象的巨大打击。 – AbdElRaheim 2012-10-26 06:32:33
面向方面编程意味着具有一个meta级别,您可以在其中定义日志记录或安全/访问控制功能以与您的代码交织,而不是在您的代码中非常耗时地实现这些功能。所以,不是一维的,你必须编程二维。
我知道这听起来很不引人注意,但一旦你明白它就很容易。
AOP经常与拦截呼叫并在后台执行任务的代理类一起使用。
下面的一个很好的链接,向您展示了如何编写自己的AOP框架。不幸的是,你所有的消费类都必须继承MarshalByRefObject
(通过ContextBoundObject
)。
http://www.developerfusion.com/article/5307/aspect-oriented-programming-using-net/3/
检查了这一点,它描述的是如何实现AOP(日志,定时,跟踪,异常处理...)使用postsharp
http://www.codeproject.com/Articles/337564/Aspect-Oriented-Programming-Using-Csharp-and-PostS
- 1. 面向方面编程StructureMap.DynamicInterception
- 2. 面向方面编程的未来
- 3. 面向方面的编程框架
- 4. 春季面向方面编程
- 5. CakePHP中面向方面的编程
- 6. Java中面向方面的编程
- 7. ActionScript 3面向方面编程
- 8. 面向方面编程Clojure中
- 9. Spring Roo和面向方面的编程
- 10. Android中面向方面编程
- 11. Qt中的面向方面的编程
- 12. 面向方面的编程实例
- 13. Objective-C中面向方面的编程iPhone
- 14. 面向方面编程(AOP)的C#解决方案(.NET)和它们的功能
- 15. C++中面向方面的编程 - 当前支持的替代方案
- 16. 在面向对象编程方面哪种方法更好?
- 17. c#面向对象编程问题
- 18. C#面向对象编程foundamentals
- 19. C++中的面向对象编程
- 20. python面向对象编程方法
- 21. 面向对象编程方法问题
- 22. 面向方面的谷歌应用程序引擎编程(Java)
- 23. 面向方面编程在面向对象的世界突破规则?
- 24. C#不理解调用方法。面向对象编程
- 25. 面向方面编程和企业图书馆记录
- 26. 将面向方面编程应用于Web服务
- 27. 如何在.Net平台上开始面向方面编程?
- 28. 使用LLVM进行面向方面编程
- 29. 面向方面编程(AOP)有什么缺点?
- 30. DBC(按合同设计)和AOP(面向方面编程)
我看来,像一个傻瓜http://stackoverflow.com/questions/325558/aspect-oriented-programming-examples – Graviton 2009-10-05 07:35:00
[Aspect Oriented Programming](http://izlooite.blogspot.com/2010/06/aspect-oriented-programming.html#comment-形式) – 2012-07-21 12:59:12
在.NET中检查AOP - http://manning.com/groves(是的,这是无耻的自我推销,但它是levant!) – 2013-11-01 20:48:53