Questão FC370102
O analista Lucas está desenvolvendo o sistema orientado a objeto JustiSul. Em determinado módulo do JustiSul, o sistema instancia um objeto da classe Terceirizado de forma dinâmica
Padrões de Projeto (Engenharia de Software)
FGV · 2024
O analista Lucas está desenvolvendo o sistema orientado a objeto JustiSul. Em determinado módulo do JustiSul, o sistema instancia um objeto da classe Terceirizado de forma dinâmica, em tempo de execução, por meio da interface I3rd. A classe Terceirizado pertence a uma biblioteca proprietária externa, de forma que o JustiSul conhece apenas a especificação de I3rd, e não a de Terceirizado. Dentro de outro módulo, o sistema precisa instanciar um segundo objeto Terceirizado. Devido ao alto custo de uma nova inicialização dinâmica, Lucas optou por chamar o método cp3rd do objeto Terceirizado já criado. O cp3rd, declarado em I3rd e implementado na classe Terceirizado, retorna uma nova instância da classe, com um estado idêntico ao do objeto chamador.
Ao permitir a criação de novas instâncias pelo método cp3rd de uma instância existente, Terceirizado implementa o padrão de projeto:
- builder;
- singleton;
- prototype;
- factory method;
- abstract factory.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O comportamento descrito corresponde ao padrão Prototype. Nesse padrão, a própria instância é responsável por criar sua cópia, delegando a clonagem ao objeto clonado.
No enunciado, a interface I3rd declara o método cp3rd e a classe externa Terceirizado implementa esse método retornando uma nova instância com estado idêntico. Isso é exatamente a essência do Prototype: um contrato de clonagem que permite criar objetos sem depender da classe concreta.
Vantagens: o cliente não conhece a implementação concreta (biblioteca externa) e evita custo alto de inicialização ao copiar o estado do objeto existente, obtendo uma nova instância independente.
Observação prática: a clonagem pode ser shallow ou deep, dependendo de como cp3rd copia os campos; o padrão só define a delegação da cópia ao próprio objeto.
Conteúdo do catálogo FC Concursos · Atualizado em