Foros del Web » Programación para mayores de 30 ;) » Java »

Inyección de Dependencias

Estas en el tema de Inyección de Dependencias en el foro de Java en Foros del Web. Hay algún inconveniente en inyectar muchas dependencias en una sola clase java, en mi caso específicamente en un web service. Para que se entienda bien ...
  #1 (permalink)  
Antiguo 11/02/2012, 08:02
 
Fecha de Ingreso: mayo-2010
Mensajes: 25
Antigüedad: 13 años, 11 meses
Puntos: 0
Pregunta Inyección de Dependencias

Hay algún inconveniente en inyectar muchas dependencias en una sola clase java, en mi caso específicamente en un web service. Para que se entienda bien pongo un ejemplo:

@WebService (serviceName = "Example")
@Stateless
public class ExampleService{

@EJB
EmployeesDao employeesdao;
@EJB
DepartmentsDao departmentsdao;
@EJB
LocationsDao locationsdao;
@EJB
RegionsDao regionsdao;
@EJB
CountriesDao countriesdao;
@EJB
DependencisDao dependencisdao;
@EJB
OtherDao1 otherdao1;
@EJB
OtherDao2 otherdao2;
@EJB
OtherDao3 otherdao3;


@Web Method(oper...)
public viod add(){}

}

En que puede afectar tener tantas inyecciones de dependencia en una clase, es mala práctica hacerlo?
Gracias
  #2 (permalink)  
Antiguo 15/02/2012, 17:00
Avatar de navarone86  
Fecha de Ingreso: octubre-2009
Mensajes: 62
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Inyección de Dependencias

hasta donde yo sé (que tampoco es demasiado) no es ninguna mala práctica, pero igual si que te puede interesar dividir dicho servicio web en 2 o en 3, pero esto ya depende de la lógica de tu aplicación

el problema de tener tantas inyecciones, es que todas se cargan en memoria cuando se llama a la clase, aunque luego solo utilices uno de los daos (que alguien me corrija si me equivoco)

por eso digo que puede que te interesa dividir el servicio en varios (EmpleoyeeService, DepartamentService, etc), y que cada uno de ellos tenga solo los dao que utilice (que puede que sean más de uno)


un saludo
  #3 (permalink)  
Antiguo 16/02/2012, 02:18
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Inyección de Dependencias

Yo además intercalaría managers intermedios. El service no llamaría directamente al dao sino que ejecutaría metodos contra la vista y contra el manager. El mánager sería el que llamase a los daos, así puedes cargar menos componentes. Además en el manager se incluiría la transaccionalidad, es decir, aquellos métodos que tienes que ejecutar obligatoriamente como una transacción, mientras que el service permitiría agrupar transacciones independientes dentro de un mismo método.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: clase, inyección
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:29.