PostSharp AOP Framework 进行了更新

  • Al Tenhundfeld
  • 王波

2009 年 3 月 19 日

话题:.NET语言 & 开发架构

流行的.NET 面向方面编程框架,PostSharp式发布了新版本:1.5 版 CTP 3。这个版本修订了 1.0 SP1 的 Bug,完善了 1.5 CTP 2 中的一些设计问题,最重要的是它在性能上有显著地提升。

与方法拦截解析器在设计时提供 AOP 功能的控制反转容器不同的是:PostSharp 完全集成特性的应用。PostSharp 把自身注入到 Build 过程并延缓编译程序集的过程。因此 PostSharp 工作在 MSIL 层,它实际上支持所有.NET Framework 的静态语言。

1.0 版本改进后,1.5 版本包含下列改进:

  • 无需把程序集加载到 CLR 既可进行读取
  • 在 1.0 版本的时候,PostSharp 要求把程序集加载进 CLR(比如, 在应用程序域中)才能够进行读取。当 PostSharp 处理 Silverlight 或者 Compact Framework 程序集的时候,它就不能被加载进 CLR。
  • 程序集的延迟加载
  • 当 PostSharp 加载依赖项程序集的时候,它只用读取实际所需的元数据对象,致使“性能极大提升和更低的内存消耗”。
  • 性能优化
  • 代码已经被仔细地分析并极大地优化性能
  • 支持 Novell Mono
  • PostSharp 现在是真正的跨平台。微软平台上编译的可执行文件也可以在 Novell Mono 中执行。它通过 Windows 和 Linux 平台测试并为这两个平台所支持。NAnt Task 使得 PostSharp 在这两个环境中的使用更加容易。
  • 支持 Silverlight 2.0 和 Compact Framework
  • 你可以 Silverlight 2.0 和 Compact Framework 2.0 项目添加方面
  • 可插入的序列化程序和不完全可信方面
  • 之前,所有方面都使用标准的.NET 可执行格式化程序进行序列化。现在可以选择其他序列化程序或者自己的实现,又或者增强作为不完全可信所执行的程序集。

估计 CTP 3 为 1.5 CTP 的最终版本,有望在 1-2 个月内会有第一个候选版本,这取决于 Bug 报告。

查看英文原文:PostSharp AOP Framework Updated

.NET语言 & 开发架构