Designer Pattern Factory Method em Java
Neste post vou mostrar como funciona o padrão de projeto Factory Method ou simplesmente Factory
Última atualização em: | 10736 Visualizações
Factory Method é um padrão de projeto responsável por criar objetos ou simplesmente uma fabríca de objetos.
De forma geral, temos uma interface e suas implementações, e a partir de uma classe factory é decidido qual instância utilizar.
Exemplo de Factory Method
Para entender melhor vamos criar um exemplo.
Considere que precisamos criar uma classe que represente um triangulo, um quadrado e um pentagono.
Então criamos uma interface que define o poligono. Veja:
public interface Polygon {
Integer getNumberOfSides();
}
Tendo a interface que define um poligono, agora criamos as nossas implementações.
public class Triangle implements Polygon {
public Integer getNumberOfSides() {
return 3;
}
}
public class Square implements Polygon {
public Integer getNumberOfSides() {
return 4;
}
}
public class Pentagon implements Polygon {
public Integer getNumberOfSides() {
return 5;
}
}
A partir de agora, criamos nosso fabríca de objetos, que sabe exatamente qual classe deve instânciar.
public class PolygonFactory {
public static Polygon getPolygon(int numberOfSides) {
if (numberOfSides == 3) {
return new Triangle();
}
if (numberOfSides == 4) {
return new Square();
}
if (numberOfSides == 5) {
return new Pentagon();
}
}
}
Note que pode ser adicionado algumas melhorias como, construtor privado para não instânciar a classe, o método pode não ser estatíco, entre outras.
Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.