流行的.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
评论