O PostSharp, o popular framework de programação orientado a Aspect para .NET, teve uma nova release: a Versão 1.5 CTP 3. Esta release inclui as correções de bug do 1.0 SP1, melhora alguns problemas de design no 1.5 CTP 2 e mais importante, melhoras dramática de performance. O PostSharp 1.5 CTP 3 é agora duas vezes mais rápido que o PostSharp 1.0, de acordo com as notas da release. O 1.5 CTP 3 está disponível para download no site PostSharp.
Diferentemente do Inversion de Control containers que fornece a funcionalidade AOP através de especificações de tempo de design do método invocation interceptors, o PostSharp integra através da aplicação de atributos. O PostSharp insere-se no build process e processa posteriormente o resultado compilado. Desde que o PostSharp trabalha no nível MSIL, ele suporta virtualmente todas as linguagens estáticas do Framework .NET.
Melhoria da versão 1.0, a versão 1.5 contém as seguintes melhorias:
- Leitura dos assemblies sem carregá-los na CLR
- Lazy Loading dos assemblies
- Otimizações da Performance
- Suporte para Novell Mono
- Suporte para o Silverlight 2.0 e o Compact Framework
- Pluggable Aspect Serializer & Partial Trust
Na versão 1.0, o PostSharp exigiu os assemblies para serem carregados na CLR (ex no domínio da aplicação) para poder lê-los. Quando o PostSharp processa um Silverlight ou um Compact Framework assembly, ele nunca é carregado pela CLR.
Quando o PostSharp tem de carregar uma dependência assembly, ele agora lê somente os metadados do objeto que realmente necessita, resultando em um "enorme melhoria de performance e menor consumo de memória.
O código foi cuidadosamente retratado e otimizado para a performance máxima.
O PostSharp agora é verdadeiramente cross-platform. Os binários compilados na plataforma Microsoft podem ser executados sobre Novell Mono. Tanto o Windows quanto o Linux estão testados e apoiados. Uma NAnt task torna mais fácil de usar o PostSharp nestes ambientes.
Você pode adicionar aspects para seus projetos visando o Silverlight 2.0 ou o Compact Framework 2.0.
Anteriormente, todos os aspects eram serializer usando o padrão do formatter binário do .NET. Agora é possível escolher outro serializer ou implementar seu próprio e reforçar os assemblies que são executados com partial trust.
CTP 3 é esperado para ser o final 1.5 CTP, com a primeira Release Candidate esperada dentro de 2 meses, dependendo dos relatórios de bug.