Durante este año ha habido bastantes debates sobre el uso de contenedores de inversión de control para realizar inyección de dependencias. Hay quien después de evangelizar sobre el uso de contenedores, ahora los considera algo maligno e innecesario, y hay quien cree que siguen siendo piezas fundamentales para construir aplicaciones y hay discusiones muy interesantes…. Leer más »
Posts etiquetados como castle windsor
AOP con Castle Windsor: DynamicInterceptionFacility
| Categoría: development
Aprovecho el lanzamiento de la Castle Windsor 3.1 RC1, para darle una vuelta a la programación orientada a aspectos usando Castle Windsor. Hace unos meses hice una pequeña introducción al tema en la que explicaba cómo usar interceptors para aplicar técnicas de AOP con Castle y dejé un ejemplo en github en el que se… Leer más »
Resolución de tipos genéricos con Castle Windsor
| Categoría: development
Llevo utilizando Castle Windsor como contenedor de inversión de control durante bastante tiempo, pero hasta hace poco no me había fijado en la forma en que resuelve tipos genéricos. Cuando registramos un tipo genérico abierto, Castle es capaz de resolverlo usando los parámetros de tipo que sea necesario. Por ejemplo, si tenemos un repositorio genérico… Leer más »
Tratar con Proxies en Castle Windsor
| Categoría: development
Cuando estás usando Dynamic Proxy, ya sea directamente o para aplicar AOP con Castle Windsor, a veces es necesario distinguir si una instancia de un objeto es una instancia real o un proxy generado. Esto es frecuente cuando desde la infraestructura de la aplicación necesitamos acceder a metainformación de alguna clase, por ejemplo, el espacio… Leer más »
AOP con Castle Windsor: IInterceptor
| Categoría: development
La Programación Orientada a Aspectos (AOP) es un paradigma de programación que trata de incrementar la modularidad de las aplicaciones aislando aquellos aspectos que afectan a muchas partes de la aplicación sin ser resposabilidad expresa de ninguna de ellas (cross-cutting concerns). Normalmente se usa asociada a OOP y permite que la responsabilidad de las clases… Leer más »