13/8/2012 11:22 El Bruno

[#RESHARPER] AgentMulder: excelente AddIn para trabajar con IoC

Buenas,

ayer comenté sobre la disponibilidad de Unity para .Net 4.5 y además hice un comenario sobre Agent Mulder. Agent Mulder es una extensión impresionante para ReSharper que nos permite navegar hacia las implementaciones y declaraciones de un tipo específico cuando estamos trabajando con algún contenedor de inyección de dependencias.

Como explicarlo en palabras no se me da bien hoy, mejor vamos a un ejemplo. Supongamos que estamos trabajando con Unity y tenemos una aplicación de consola con el siguiente ejemplo:

   1: using System;
   2: using System.Diagnostics;
   3: using Microsoft.Practices.Unity;
   4:  
   5: namespace ConsoleApplication1
   6: {
   7:     class Program
   8:     {
   9:         static void Main(string[] args)
  10:         {
  11:             var container = new UnityContainer();
  12:             container.RegisterType<ILogger, LogDebug>();
  13:             var log = container.Resolve<ILogger>();
  14:             log.Log("sample data");
  15:             Console.ReadLine();
  16:         }
  17:     }
  18:     internal interface ILogger
  19:     {
  20:         void Log(string data);
  21:     }
  22:     class LogTrace: ILogger
  23:     {
  24:         public void Log(string data)
  25:         {
  26:             Trace.WriteLine(data);
  27:         }
  28:     }
  29:     class LogDebug : ILogger
  30:     {
  31:         public void Log(string data)
  32:         {
  33:             Debug.WriteLine(data);
  34:         }
  35:     }
  36: }

En el IDE de Visual Studio, intentar ver donde se ha utilizado la clase LogDebug es un poco trabajo artesanal, ya que al no tener referencias directas, pues se complica un poco saber donde se está utilizando. Si vemos la ayuda online que tenemos en el editor de código pues veremos algo similar a lo siguiente

image

Ahora bien, si descargamos e instalamos Agent Mulder, este plugin de ReSharper nos mostrará que la clase LogDebug() se está registrando y utilizando con Unity. Podremos acceder a la línea de registro de la misma y luego inclusive, acceder a las referencias dinámicas de ReSharper para ver donde se implementa y utiliza la funcion Log().

image

En pocas palabras, Agent Mulder nos ayuda a navegar entre las referencias que realizamos con algún inyector de dependencias, como Unity, CastleWindsor, etc. El ejemplo de la página oficial del producto está montado sobre CastleWindsor.

Descarga: http://hmemcpy.github.com/AgentMulder/

Saludos @ La Finca

El Bruno

image image image

Archivado en: ,,,
Comparte este post:

# re: [#RESHARPER] AgentMulder: excelente AddIn para trabajar con IoC

Monday, August 13, 2012 5:04 PM by Ernesto

Tanta cosa para volver a tener lo que ya se tenia (con tan solo el VS) si se usaba un "new" de toda la vida.... xD

# re: [#RESHARPER] AgentMulder: excelente AddIn para trabajar con IoC

Thursday, August 16, 2012 1:42 PM by El Bruno

@Ernesto, si pero el new de toda la vida te da golpes por otros lados ... :D