2010-11-06 81 views

回答

0

有很多用于.NET的AOP-ish解决方案 - PostSharpUnity InterceptionSpring.NET AOPLOOM.NET仅举几例。

它们在编织方式上有所不同(将方面应用于基本代码) - 通常它可以在IL或运行时完成。它们在语法,能力,创建/获取对象的方式,性能,学习曲线等方面也有所不同。您必须决定什么对您很重要,然后我们可以提出任何解决方案。

我首先建议您阅读PostSharp网站上的“AOP on .NET”文章。

1

如果您正在寻找一个轻量级的AOP工具,那么有一篇文章“使用动态装饰器添加对象到对象”(http://www.codeproject.com/KB/architecture/aspectddecorator.aspx)。它薄而灵活。

它描述了一种在运行时将对象添加到对象而不是在设计时向类添加对象的方法。这种方法的优点是,您可以决定在使用对象时是否需要某个方面。

今天大多数的AOP工具都在类设计阶段定义了课程级别的方面。而当你使用类的对象时,你没有灵活性。