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

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


Wolmir Cezer Garbin

Wolmir Cezer Garbin

Sou Arquiteto de Software e fundador do Receitas de Código, amo minha profissão e com o Receitas de Código quero compartilhar um pouco deste conhecimento.

Ver mais sobre o autor

FIQUE POR DENTRO

Receba as novidades todo mês em seu e-mail!

Apoiadores


Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar