SóProvas


ID
2834500
Banca
FCC
Órgão
CREMESP
Ano
2016
Provas
Disciplina
Arquitetura de Software
Assuntos

Suponha que exista uma interface ITraduzFrase que define o método imprimeFrase(). Existem, também, as classes InglesTraduzFrase, EspanholTraduzFrase e AlemaoTraduzFrase que estendem a interface ITraduzFrase e utilizam o método imprimeFrase(). Um Analista utilizou um design pattern que cria objetos de forma dinâmica sem conhecer a classe de implementação. A classe FrasePadrao implementa esse padrão de forma que, de acordo com o idioma desejado, retorna um objeto do tipo ITraduzFrase. O objetivo é que, sendo fornecido o idioma, a frase será nele impressa, em inglês, espanhol ou alemão.


Considerando o exemplo e sabendo que a definição do padrão é "Define uma interface para criar um objeto, mas permite às classes decidirem qual classe instanciar. Este padrão permite a uma classe deferir a instanciação para subclasses.", o nome do padrão usado pelo Analista é

Alternativas
Comentários
  • Segundo o GOF (Group Of Four) o padrão Factory Method é: “Um padrão que define uma interface para criar um objeto, mas permite às classes decidirem qual classe instanciar. O Factory Method permite a uma classe deferir a instanciação para subclasses”.


    Vantagens do padrão

    O Factory Method é bastante utilizado em diversos projetos, até mesmo nos casos em que temos apenas um Creator (diagrama acima), pois mesmo nessas condições o padrão nos oferece um meio de desligar a implementação de um Product. Adicionando ou alterando Products isso não irá afetar o Creator, pois eles não estão fortemente ligados.

    Com o padrão Factory Method podemos encapsular o código que cria objetos. É muito comum termos classes que instanciam classes concretas e essa parte do código normalmente sofre diversas modificações, portanto nesses casos usamos um Factory Method que encapsula esse comportamento de instanciação.

    Usando o Factory Method temos o nosso código de criação em um objeto ou método, evitando assim a duplicação e além disso temos um local único para fazer manutenção. O padrão também nos dá um código flexível e extensível para o futuro.

    Fonte: https://www.devmedia.com.br/padrao-de-projeto-factory-method-em-java/26348

  • Factory Method: Define uma interface para criar um objeto mas deixar que subclasses decidam que classe instanciar.