Foro sobre Java SE > Metodo Factoria
En estos artículos hay buenas explicaciones con ejemplos de uso.
http://javarevisited.blogspot.com.es/2011/12/factory-design-pattern-java-example.html
http://java.dzone.com/articles/factory-method-pattern-java
http://howtodoinjava.com/2012/10/23/implementing-factory-design-pattern-in-java/
http://www.tutorialspoint.com/design_pattern/factory_pattern.htm
Sigue un ejemplo de uso de factory, que facilita la encapsulación de las clases, y ocultar la implementación.
La clase NewClass solo tiene getters, su constructor es private, sus propiedades solo se inicializan en el constructor, y no puede ser extendida: es lo mismo que si se declara final.
La clase NewClassBuilder solo tiene setters, su constructor también es private, y tampoco se puede extender.
Los métodos create en ambas son factory.
public class NewClass {
public static NewClass create(String cadena, int entero) {
return new NewClass(cadena, entero);
}
private final String cadena;
private final int entero;
private NewClass(String cadena, int entero) {
this.cadena = cadena;
this.entero = entero;
}
/**
* @return the cadena
*/
public String getCadena() {
return cadena;
}
/**
* @return the entero
*/
public int getEntero() {
return entero;
}
}
public class NewClassBuilder {
public static NewClassBuilder create() {
return new NewClassBuilder();
}
private String cadena;
private int entero;
private NewClassBuilder() {
}
public NewClassBuilder setCadena(String cadena) {
this.cadena = cadena;
return this;
}
public NewClassBuilder setEntero(int entero) {
this.entero = entero;
return this;
}
public NewClass createNewClass() {
return NewClass.create(cadena, entero);
}
}
He visto el codigo de implementacion de un método de factoría, pero, cual es su objeto esencial cuando utilizarlo o para que?