【发布时间】:2013-03-26 20:18:49
【问题描述】:
这个话题可能看起来已经讨论过了,但我还有一些话要说和问。
显而易见的问题是;我想知道我应该为 .NET 4.0 企业应用程序使用什么 AOP 库?根据What Aspect-Oriented Programming (AOP) libraries for .NET are still actively developed 的帖子,应该选择 PostSharp 或 Spring.NET 或 Microsoft 的 Policy Injection Application Block。但是每一个都有问题。
- PostSharp:这是最好的,但不开放。我需要一个开源的。
- Spring.NET: 这太重了,并且有局限性,比如它只能拦截那些非静态、必须非密封、属性和方法必须是虚拟的类等......
- Microsoft 的 Policy Injection Application Block: 根据Policy Injection Application Block 的帖子,这是一个遗留组件,现在可能不再受 MS 支持,因为它是通过 Unity 拦截机制实现的,因此它具有与Spring.NET (Alternatives to PostSharp)
我看到了Aspect Oriented Programming: learn step by step and roll your own implementation! 的帖子。我还没有使用它,但通读这篇文章让我知道它应该服务于我的目的。我想知道是否有人尝试过,是否建议尝试?
我还有一个问题要问;我已经将 Unity 用于 DI,这一切都很酷,但对于 AOP,unity 对我的目的来说不是一个好的选择,因此我肯定会选择其他一些工具/库(也许是我上面建议的那个!)。 Unity和AOP的其他东西在同一个应用中好不好,会不会有什么问题?
有人可以帮我吗?提前谢谢!
【问题讨论】:
-
为什么需要开源工具?
标签: aop