Como implementar o método de fábrica em Java



Este artigo fornecerá a você um conhecimento detalhado e abrangente sobre como implementar o Factory Method em Java com exemplos.

Classes e objetos são a parte principal do o que o torna uma das principais linguagens de programação para trabalhar. Neste artigo, discutiremos o que é Factory Method In Java na seguinte ordem:

O que é o Factory Method em Java?





Padrão de Fábrica ou Método de fábrica em Java diz que as subclasses são responsáveis ​​por criar um objeto de uma classe. Em outras palavras, o Padrão do Método de Fábrica é um padrão de criação que é usado para criar objetos usando métodos de fábrica, sem ter que especificar a classe exata do objeto criado. Métodos de fábrica também são chamados Construtores Virtuais .

Método de fábrica no logotipo Java



Em Factory Methods, criamos objetos sem expor a lógica de criação aos clientes. A mesma interface comum é usada pelo cliente para criar um novo tipo de objeto.

Vantagens do Método de Fábrica

  • Os tipos de objetos a serem criados são escolhidos pelas subclasses. O método de fábrica permite isso.

  • Ao eliminar a necessidade de vincular classes específicas do aplicativo no código, ele promove acoplamento solto .



Usos do método de fábrica

  • Eles são usados ​​quando a classe não tem ideia de quais subclasses são necessárias.

  • Eles são usados ​​quando uma classe quer subclasses para especificar objetos que precisam ser criados.

  • As classes pais escolhem a criação de objetos de subclasses, usamos métodos de fábrica.

Quando usar o método de fábrica?

Loose Coupling é introduzido entre as classes por Factory Method Patternsque é um dos princípios mais importantes e deve ser aplicado ao projetar a arquitetura. Nossa arquitetura pode se tornar mais flexível e menos frágil introduzindo um acoplamento fraco na arquitetura do programa.

Aqui está um exemplo de código

interface ImageReader {DecodedImage getDecodeImage ()} classe DecodedImage {private String image public DecodedImage (String image) {this.image = image} @Override public String toString () {return image + ': is decoded'}} class GifReader implementa ImageReader { private DecodedImage decodedImage public GifReader (String image) {this.decodedImage = new DecodedImage (image)} @Override public DecodedImage getDecodeImage () {return decodedImage}} classe JpegReader implementa ImageReader {private DecodedImage decodedImage decodedImage public JpegReader (imagem de decodedImage) {decodedImage public JpegReader (string) DecodedImage (imagem)} @Override public DecodedImage getDecodeImage () {return decodedImage}} public class FactoryMethodDemo {public static void main (String [] args) {DecodedImage decodedImage ImageReader reader = null String image = 'image.jpeg' Formato de string = imagem .substring (image.indexOf ('.') + 1, (image.length ())) if (format.equals ('gif')) {reader = new GifReader (image)} if (format.equals ('jpeg ')) {leitor = novo JpegReader (imagem)} declarar leitor! = null decodedImage = reader.getDecodeImage () System.out.println (decodedImage)}}

RESULTADO:

Explicação do código

ansible vs chef vs fantoche

Este código demonstra como um método de fábrica é configurado. Várias classes são criadas, cada uma realizando uma tarefa específica de decodificação de uma imagem. Temos uma classe de driver chamada FactoryMethodDemo.

Passamos um argumento que deve ter uma extensão .jpeg ou .gif etc. Com base na extensão da imagem, um objeto de classe é criado para o leitor jpeg ou leitor de gif e a execução é feita de acordo.

Com isso, chegamos ao fim deste artigo do Factory Method In Java. Espero que você tenha entendido esses métodos.

Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso de certificação e treinamento Java J2EE e SOA da Edureka é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java.