FC ConcursosFC Concursos

Questão FC373905

Considere o seguinte caso hipotético: Um Analista de um Tribunal Regional do Trabalho está criando uma aplicação de gerenciamento de logística para distribuição de processos. A pri

Padrões de Projeto (Engenharia de Software)

FCC · 2023

Considere o seguinte caso hipotético:

 

Um Analista de um Tribunal Regional do Trabalho está criando uma aplicação de gerenciamento de logística para distribuição de processos. A primeira versão da sua aplicação pode lidar apenas com a distribuição física feita por meio de pessoas, portanto, a maior parte do código fica dentro da classe Entregador. Depois de um tempo, a aplicação se torna bastante utilizada e ele recebe frequentemente várias solicitações de outros departamentos do órgão para incorporar. na aplicação, a logística de distribuição dos processos digitalizados por meio do computador. A adição de uma nova classe (meio) de distribuição ao programa causa um problema porque adicionar uma nova classe ao programa não é tão simples se o restante do código já estiver acoplado às classes existentes. Atualmente, a maior parte do código é acoplada à classe Entregador. Adicionar Computador à aplicação exigiria alterações em toda a base de código. Além disso, se mais tarde ele decidir adicionar outro meio de distribuição à aplicação, provavelmente precisará fazer todas essas alterações novamente. Como resultado, ele terá um código bastante sujo, repleto de condicionais que alteram o comportamento da aplicação, dependendo da classe de objetos de meio de distribuição.

 

Uma solução de melhoria para deixar o código mais limpo e manutenível é usar o padrão de projeto

  1. criacional Bridge.
  2. comportamental Composite.
  3. criacional Factory Method.
  4. comportamental lterator.
  5. estrutural Builder.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

Factory Method é um padrão criacional que resolve o problema de código fortemente acoplado à classe concreta Entregador ao deslocar a responsabilidade de criação de objetos para um método fábrica.

Em vez de instanciar diretamente classes como Entregador ou Computador, a aplicação chama um método abstrato (o Criador) que retorna um Produto genérico. Subclasses concretas sobrescrevem esse método para retornar a implementação específica do meio de distribuição.

Com isso, o restante do código depende de abstrações, reduzindo o acoplamento e evitando condicionais espalhadas. Novos meios podem ser adicionados apenas criando novas subclasses de criador, preservando o princípio aberto/fechado e melhorando a manutenção e extensibilidade do sistema.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo