cropped-logo_springbypivotal_horizontal1-645x300

¿Te gustaría aprender Desarrollo de Apps Móviles Android ?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

Aplicar AOP en el entorno .NET tiene varias posibilidades, pero a la hora de decidir cual es la más aconsejable es posible que no exista un respuesta valida para todos los casos. El modelo de AOP se puede aplicar mediante Intercepción de llamadas de objetos o por Inyección de código en ejecución. El modelo de intercepción se puede usar facilmente desde .NET, en algunos casos incluyo existen elementos de la plataforma que hacen uso de este sistema:

  • Extensiones SOAP para los WebServices
  • Attributos de Operación, Contrato, etc sobre WCF
  • EnterpriseServices
  • Code Access Security
  • Serialización

A la hora de emular este comportamiento, disponemos también de los mecanismos necesarios para poder crear nuestro propio motor de aspectos (disponibles desde las primeras versiones de .NET). Os remito a los siguientes artículos para que podais ver ejemplos y poder descargar el código fuente de demostración: Decouple Components by Injecting Custom Services into Your Object’s Interception Chain Aspect-Oriented Programming Enables Better Code Encapsulation and Reuse.

En el caso de Inyección de Código, existen artículos muy completos de como llevar a cabo la construcción de un motor de AOP, pero existiendo Frameworks de AOP la recomendación es que eches un vistazo a estas últimas. Podrás encontrar información de AOP basada en Inyección de código y referencias a dichas Frameworks: Aspect-Oriented Programming Aunque para aquellos que quieran profundizar en el tema, entrando un poco en la inyección de código en .NET y como crear un motor de AOP con este sistema.

spring-overviewEn este sentido, el articulo que más me ha gustado es AOP using System.Reflection.Emit – Code Injection IL que muestra como hacer uso de Emit para mediante código IL poder emular el comportamiento de un motor AOP. La recomendación es que lo uses con precaución puesto que la ventaja de un motor de AOP frente a construir uno propio es el nivel y numero de pruebas al que lo tendremos que someter. Para terminar simplemente hacer una reseña de un punto que no podemos oviar: Rendimiento. Como es obvio AOP nos facilita el trabajo de separación de conceptos pagando el peaje de impactar en el rendimiento.

Como es obvio lo motores que se basen en Inyección de código pueden ser más fácilmente optimizados (al fin y al cabo es código) que los basados en Intercepción (cuyo comportamiento es más genérico). Esto no significa que tengamos que descartar a uno en favor de otro, lo ideal es probar y utilizar el que mejor se adapte a nuestras características (no solo rendimiento, sino facilidad, flexibilidad, etc).

¿Te gustaría aprender Desarrollo de Apps Móviles Android ?
Tenemos los cursos que necesitas. ¡Haz clic aquí!
About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax
()
x
Abrir chat
¿Quieres aprender a programar?
Hola 👋,
¿Te interesa información de nuestros cursos?