Bestes Aspekt-orientiertes Framework für Features / Build-Performances in .net [geschlossen]

8

In verschiedenen Projekten, mit denen ich gearbeitet habe, mussten wir ein AOP- oder Dependency-Injection-Framework verwenden.

Wir haben Enterprise Library, Unity und PostSharp verwendet.

Vorerst ist Postsharp meine beste Wahl, wenn es um die Flexibilität geht, die ich bekomme, wenn ich meine Aspekte erzeuge.

Das einzige Problem ist die Build-Zeit, die nach der Installation von PostSharp benötigt wird. Meine Entwickler möchten die Zeitsteuer nicht bezahlen, selbst in Anbetracht all der Göttlichkeit, die von PostSharp kommt.

Also meine Frage ist: Was AOP-Framework würden Sie für schnelle Bauzeit und große Funktionalität empfehlen ?

Danke, Ihre Antworten werden sehr geschätzt,

Patrick

    
PBelanger 07.10.2009, 19:40
quelle

2 Antworten

7

PostSharp ist im Grunde ein voll funktionsfähiger statischer Weber. Das bedeutet, dass das Weben während des Buildprozesses in einem Post-Compilierungsschritt stattfindet. Und es kann sicher einige Zeit dauern. (Achten Sie darauf, Gael Ankündigung über Laufzeitverbesserungen zu lesen und bauen Zeit Leistungsverbesserungen , die mit der Version 2.0 kommen werden)

Wenn Sie keinen Build-Overhead benötigen, gibt es nur eine Lösung: Verwenden Sie dynamische Weber. In .NET gibt es mehrere Interception-Frameworks, z. B. Castle.DynamicProxy oder Linfu.DynamicProxy . Sie generieren zur Laufzeit Proxies. Beachten Sie, dass diese Frameworks nicht so viel leisten können wie ein statisches AOP-Framework wie PostSharp und möglicherweise auch weniger effizient zur Laufzeit. Sehr oft bieten IoC-Frameworks dynamische Abhörfähigkeiten ( Spring.NET , Einheit , Windsor , etc.)

Eine andere Lösung besteht darin, Hybridweber zu betrachten, die während des Buildprozesses nur Punkte statisch verbinden und dann erlauben, Aspekte zur Laufzeit dynamisch anzuwenden. Linfu.AOP , das Mono.Cecil als Backend, funktioniert so.

    
Romain Verdier 07.10.2009, 20:11
quelle
0

Spring.NET verwendet kein Weben und es basiert auf einem sehr stabilen Java-AOP-Framework. Hier ist die Projektadresse.

    
Otávio Décio 07.10.2009 19:47
quelle

Tags und Links