Narciso, Hablando de Software

25.6.04

Contenedores Ligeros y Arquitecturas de Plugins: Inyección de Dependencias y Localizadores de Servicios Dinámicos en .NET

Durante muchos años he ido de un proyecto con tecnologías Microsoft a otro en entornos Java/Unix, jugando en ambos campos casi simultáneamente. De hecho, la compañía en la que pasé la mayor parte de esos años (Digital / Compaq) me certificó nada mas empezar como MCSE + Internet, así que estaba algo más atraido por el entorno Microsoft.
Sin embargo, debo admitir que entonces Java y J2EE presentaban una aproximación más atractiva hacia las soluciones orientadas a objetos, tanto desde el desarrollo como desde la arquitectura. Durante los últimos tres años he estado muy centrado en este enotrono Java y J2EE, adquiriendo un buen nivel de conocimientos, pero dejando atrás las soluciones .NET que surgieron justo al principio de este periodo.
En estos últimos meses he estado jugando con .NET, básicamente aprendiendo C# que creo que es el mejor de los lenguajes en .NET para desarrollo orientado a objetos. C# tiene toda la facilidad que antes sólo tenía VB, pero con una verdadera orientación a objetos nativa.
Creo que desde hace algún tiempo C# se está llevando a bastantes desarrolladores Java a su propia arena, y muchos de ellos tratan de llevar a .NET las soluciones que se han desarrollado en Java durante todos estos años. Esto ocurre con muchas soluciones Open Source, como Ant (NAnt) o JUnit (NUnit), por nombrar un par de ellas.
Creo además que este fenómeno está llevando muchas buenas cosas a la comunidad .NET, y es genial.
Pero no hemos de olvidar que Microsoft diseñó .NET con el conocimiento de las cosas que no estaban bien o faltaban en Java y J2EE, y que además lo hizo con el potencial de una gran cantidad de cabezas pensantes e innovadoras. Esto significa que muchas de las cosas resultas por terceros en Java y J2EE lo están de forma nativa en .NET.
Un buen ejemplo: Actualmente hay mucho esfuerzo y discusión entorno al patrón de Inyección de Dependencias o Inversión de Control y los contenedores ligeros. Sabemos que hay frameworks como Spring en Java, que ahora se están portando a .NET y C#, cuando resulta que .NET ya proveé una solución para todo esto.
Lo mejor del hecho de que esto esté implementado en el propio corazón de .NET es que es algo sobre lo que puedes construir, sabiendo que es algo soportado y que todo el mundo puede usar desde el principio sin tener que descargar e instalar nada.
Daniel Cazzulino explica en su blog cómo funciona todo esto en .NET, y discute por qué hay ciertas desventajas apuntadas por Fowler que quedan solucionadas por el hecho de ser una parte integral de .NET.

Lightweight Containers and Plugin Architectures: Dependency Injection and Dynamic Service Locators in .NET

2 Comentarios:

  • Narciso, me encanta tu weblog.
    Te invito a que te pases por el mio http://algoquehacer.typepad.com.

    Esteban from ex-PyM ;-)
    (no tengo tu email)

    Por Anonymous Anónimo, en 6/30/2004 2:26 p. m.  

  • Vaya, Esteban. ¡Que pequeño es Internet! ;-)
    !Estaba justo echando un vistazo a tu weblog! (Muy interesante)
    De alguna forma, mi dirección de messenger se caducó y no hay forma de reactivarla, así que tengo una nueva. Es igual que la que conoces pero con msn.com en vez de hotmail.com. Charlamos virtualmente y ya intercambiamos direcciones de mail.

    Por Blogger Narciso Cerezo, en 7/04/2004 1:14 p. m.  

Publicar un comentario

<< Inicio