【问题标题】:Best Aspect Oriented Framework for features / build performances in .net [closed].net中功能/构建性能的最佳面向方面框架[关闭]
【发布时间】:2009-10-09 00:09:06
【问题描述】:

在我参与的各种项目中,我们不得不使用一些 AOP 或依赖注入框架。

我们使用了 Enterprise LIbrary、Unity 和 PostSharp。

就我如何生成方面的灵活性而言,就目前而言,Postsharp 是我的最佳选择。

唯一的问题是安装 PostSharp 后所需的构建时间。我的开发人员不喜欢支付时间税,即使考虑到所有来自 PostSharp 的神。

所以我的问题是:你会推荐什么 AOP 框架来快速构建时间和强大的功能

谢谢,非常感谢您的回答,

帕特里克

【问题讨论】:

    标签: c# .net dependency-injection aop


    【解决方案1】:

    PostSharp 基本上是一个功能齐全的静态编织器。这意味着编织发生在构建过程中,在编译后步骤中。当然,这可能需要一些时间。 (请务必阅读 Gael 关于 runtime performance improvementsbuild time performance improvements 的公告,该公告将与 2.0 版本一起提供)

    如果您不想要任何构建时间开销,那么只有一个解决方案:使用动态编织器。在 .NET 中,有几个拦截框架,例如 Castle.DynamicProxyLinfu.DynamicProxy。它们在运行时生成代理。请注意,这些框架不能像 PostSharp 这样的静态 AOP 框架那样做那么多,并且在运行时执行效率也可能较低。很多时候,IoC 框架提供动态拦截功能(Spring.NETUnityWindsor 等)

    另一种解决方案是查看混合编织器,它仅在构建过程中以静态方式编织连接点,然后允许您在运行时动态应用方面。 Linfu.AOP,它使用Mono.Cecil 作为后端,就是这样工作的。

    【讨论】:

      【解决方案2】:

      Spring.NET 不使用编织,它基于一个非常稳定的 Java aop 框架。 Here是项目地址。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-27
        • 1970-01-01
        • 2011-03-11
        • 1970-01-01
        • 2012-05-30
        • 1970-01-01
        • 2020-07-26
        • 2010-09-26
        相关资源
        最近更新 更多