Designer Pattern Factory Method em Java

Neste post vou mostrar como funciona o padrão de projeto Factory Method ou simplesmente Factory

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Java - TUTORIAL

Última atualização em: | 10514 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.


Apoiadores

Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!