这个话题可能看起来已经讨论过了,但我还有一些话要说和问。
显而易见的问题是;我想知道我应该为 .NET 4.0 企业应用程序使用什么 AOP 库?根据帖子What Aspect-Oriented Programming (AOP) library for .NET are still active development ,应该选择 PostSharp 或 Spring.NET 或 Microsoft 的 Policy Injection Application Block。但是每一个都有问题。
- PostSharp:这是最好的,但不开放。我需要一个来源是开放的。
- Spring.NET:这太重了,并且有限制,比如它只能拦截那些非静态的类,必须是非密封的,属性和方法必须是虚拟的,等等......
- Microsoft 的 Policy Injection Application Block:根据 post Policy Injection Application Block,这是一个遗留组件,现在可能不再被 MS 支持,因为它是通过 Unity 拦截机制实现的,因此它具有与 Spring.NET 相同的限制(PostSharp 的替代品)
我遇到了面向方面编程的帖子:逐步学习并推出自己的实现!. 我还没有使用它,但通读这篇文章让我知道它应该服务于我的目的。我想知道是否有人尝试过,是否建议这样做?
我还有一个问题要问;我已经将 Unity 用于 DI,这一切都很酷,但对于 AOP,unity 对我的目的来说不是一个好的选择,因此我肯定会选择其他一些工具/库(也许是我上面建议的那个!)。在同一个应用程序中有 Unity 和 AOP 的其他东西好不好,会有什么问题吗?
任何人都可以在这里帮助我吗?先感谢您!