- 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