ventas programming programacion paradigma oriented orientado orientada example caracteristicas aspectos .net aop

programming - ¿Qué bibliotecas de Programación Orientada a Aspectos(AOP) para.NET todavía se desarrollan activamente?



programacion orientada a aspectos pdf (2)

Estoy tratando de encontrar una biblioteca razonablemente madura / estable y disponible libremente (preferiblemente de código abierto) para hacer AOP en .NET. He estado buscando un poco y encontré los productos a continuación; Sin embargo, la mayoría de ellos parecen muertos:

  • PostSharp : esta es la solución AOP generalmente recomendada para .NET, sin embargo, es un producto comercial y, por lo tanto, se aplican algunas restricciones de uso. (Sin embargo, parece estar disponible para proyectos personales o de código abierto).

  • Spring.NET : no se trata exclusivamente de AOP, por lo que es probable que sea demasiado poderoso si uno solo quiere hacer AOP. (?)

  • Bloqueo de aplicación de inyección de políticas : siendo de Microsoft, espero que esto se mantenga al menos.

  • Castle Windsor junto con DynamicProxy , no es principalmente una biblioteca AOP, pero aparentemente puede usarse para ese propósito.

  • Aspect# - esto me parece bastante muerto.

  • Aspect.NET - esto también me parece bastante muerto.

  • NAop - al parecer ya no se admite.

  • AOP.NET : se suponía que este era el sucesor de NAop, y también parece que murió hace un tiempo.

Probablemente hay aún más. De la lista anterior, deduzco que las únicas opciones reales para hacer AOP en .NET son PostSharp (aunque sea un producto comercial), Spring.NET, el bloque de aplicación de inyección de políticas de Microsoft o quizás Windsor.

¿Olvidé alguna opción importante?

Vea también la pregunta Sugerencias para la biblioteca orientada a aspectos de código abierto para C # aquí en StackOverflow. Publiqué una nueva pregunta porque estoy específicamente interesado en el estado de desarrollo / mantenimiento de varias soluciones AOP para .NET.


No necesitas que Windsor use DynamicProxy. Windsor utiliza DynamicProxy para sus propios fines, al igual que NHibernate, RhinoMocks, Moq u otras bibliotecas / aplicaciones / marcos por ahí. Si solo necesita AOP en tiempo de ejecución, sin contenedor IoC, use Caste DynamicProxy solo.

Está desarrollado activamente, el último prelanzamiento se lanzó hace 2 semanas, se espera el lanzamiento final (v2.5) este mes.

Nota: En versiones anteriores (hasta v2.2) DynamicProxy solía vivir en su propio ensamblaje Castle.DynamicProxy.dll. Más tarde se movió a Castle.Core.dll y ahora no se requiere ningún otro ensamblaje para usarlo. Source