Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Generalizar método

Hola a a todos

Tengo varias clases con un método similar a este, para crear una lista de objeto de esa clase a partir de una lista de arrays.

private List<Objeto> construirL(List<String[]> lista) {
List<Objeto> r = new ArrayList<Objeto>();
for (String[] s:lista) {
r.add(new Objeto(s[0],s[1])));
}
return r;
}

Para cada clase, cambia el objeto que se crea.

Creo que hay una forma de generalizarlo, para tener ese método en un único sitio y poder aplicarlo a diferentes objetos, pero no tengo claro como hacer el new, ya que el número de parámetros varía entre los objetos.
Si alguien puede ayudarme lo agradecería.

Muchas gracias.

octubre 3, 2014 | Unregistered Commenteraonarres

A qué te refieres con: "... ya que el número de parámetros varía entre los objetos."

octubre 3, 2014 | Registered Commenterchoces

Tu otra cuestión sobre servlets está en el foro JavaEE.

octubre 3, 2014 | Registered Commenterchoces

Yo lo haría con un patrón de diseño Abstract Factory lo pasa es que no explicas nada bien los parámetros de entrada y de que depende de que tengas que crear un tipo de objecto u otro.

Échale un ojo y veras como puede aplicar parte del ejemplo de tal manera que dependiendo de un parámetro de entrada ejecutes un constructor u otro para crear tus objectos.


http://howtodoinjava.com/2012/10/29/abstract-factory-pattern-in-java/

Documentate.

octubre 6, 2014 | Registered Commenterantuansoft

Hola,

Gracias por la ayuda.

Soy nuevo en el uso de patrones. He usado el patrón dao para separar del objeto de negocio los métodos de acceso a la base de datos. Tengo pensado utilizar el patrón factory y crear las interfaces para cada dao. El método que comentaba está en algunos de los dao para construir el objeto de negocio correspondiente. El número de parámetros varía según el objeto de negocio que sea, algunos tienen más campos que otros.

Miraré el enlace.

Saludos.

octubre 6, 2014 | Unregistered Commenteraonarres