lunes, 14 de agosto de 2017

Que gripe tengo!! Inyección de dependencias!! ;)


  • Las interfaces que definen las operaciones de los servicios - no necesariamente tienen que ser interfaces (como en C#), sino que puede ser una clase abstracta
  • Los servicios, que implementan las interfaces anteriores, que se van inyectar
  • Los clientes que usarán los servicios
  • El inyector, que es el encargado de construir e inyectar los servicios en los clientes

En este ejemplo se inyecta la clase Body en el objeto Cuerpo, depende de la clase con que se direccione el objeto cuerpo:

using System;
using System.Collections.Generic;
using System.Text;

namespace inyecciondependencia
{
public class Robot
{
//Inyectar un cuerpo al Robot
public Body Cuerpo { get; set; }


           //public Auto Cuerpo { get; set; }

public Robot() { }
public void Caminar()
{
if (Cuerpo != null)
Cuerpo.Caminar();
}

public void Volar()
{
if (Cuerpo != null)
Cuerpo.Volar();
}

public void Disparar()
{
if (Cuerpo != null)
Cuerpo.Disparar();
}

/*Hacer otras cosas cool que hacen los robots*/
public void BuscarAJhonConnor()
{
Cuerpo.Caminar();
/*Paso 1 buscar en internet
*Paso 2 Cuerpo.Caminar();
*Paso 3 Cuerpo.Disparar();
*Paso N*/
}

}

public class Auto
{
public void Caminar()
{

}

public void Volar()
{

}

public void Disparar()
{

}
}
}

No hay comentarios:

Publicar un comentario