Um Tribunal Regional do Trabalho está desenvolvendo um siste...

Próximas questões
Com base no mesmo assunto
Q3291048 Engenharia de Software
Um Tribunal Regional do Trabalho está desenvolvendo um sistema de gestão de processos judiciais para otimizar o fluxo de trabalho dos juízes, advogados e servidores. Um dos requisitos críticos é a implementação de um sistema de notificação para diferentes eventos processuais (por exemplo, novos documentos apresentados, audiências agendadas, decisões publicadas). O sistema deve ser flexível, permitindo adicionar novos tipos de notificações sem alterar significativamente o código existente. O padrão de projeto mais adequado para alcançar essa flexibilidade é o 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - Observer.

Tema central da questão: A questão aborda padrões de projeto de software, que são soluções gerais reutilizáveis para problemas comuns em engenharia de software. Neste caso, o foco está em um sistema de notificações para um sistema de gestão de processos judiciais.

Resumo teórico: O padrão de projeto Observer é utilizado para permitir que um objeto (o "sujeito") notifique automaticamente uma lista de outros objetos (os "observadores") sobre qualquer mudança em seu estado. Ele é ideal para sistemas onde você precisa que partes do sistema sejam notificadas sobre eventos, como atualizações em dados ou mudanças de estado, sem que o sujeito precise saber detalhes sobre os observadores.

Este padrão é particularmente relevante quando se deseja desacoplar a lógica de notificação da lógica de negócios, permitindo que novos tipos de notificações sejam adicionados facilmente, sem alterar o sistema existente. Essa flexibilidade é crucial em ambientes que exigem constante evolução, como sistemas judiciais.

Justificativa da alternativa correta: O Observer é o padrão mais adequado para implementar um sistema de notificação flexível. Ele permite que você adicione novos observadores ou novos tipos de eventos sem modificar o sujeito, mantendo o sistema modular e fácil de manter.

Análise das alternativas incorretas:

  • Singleton: Este padrão garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a ela. Não é adequado para sistemas de notificação, pois não trata de notificações ou eventos, mas sim de controle de instâncias.
  • Strategy: Este padrão define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis. É usado para variar o comportamento de uma classe, não para notificação de eventos.
  • Factory Method: O padrão Factory Method é usado para criar objetos sem especificar a classe exata do objeto que será criado. Ele é mais sobre instanciação de objetos do que sobre notificação de eventos.
  • Decorator: Este padrão permite que o comportamento de um objeto seja estendido dinamicamente. Ele é usado para adicionar funcionalidades a objetos, não para notificação de eventos.

Estratégias para interpretação: Ao responder questões sobre padrões de projeto, é importante focar no problema que se deseja resolver e no comportamento desejado do sistema. Identifique palavras-chave no enunciado, como "flexível" e "notificação", que podem indicar o uso de determinados padrões.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Letra B

O padrão Observer (Observador) é ideal para situações em que um objeto (chamado de sujeito) precisa notificar automaticamente outros objetos (chamados de observadores) sempre que ocorre uma mudança de estado ou evento. Isso se aplica perfeitamente a sistemas de notificações de eventos processuais, como:

  • Novos documentos apresentados,
  • Audiências agendadas,
  • Decisões publicadas.

Com o padrão Observer:

  • Você pode adicionar novos tipos de notificações sem modificar o código do sistema principal.
  • Os observadores se registram no sujeito, e quando um evento acontece, o sujeito notifica todos os observadores automaticamente.
  • Singleton: Garante que exista apenas uma instância de uma classe — não serve diretamente para notificações.
  • Strategy: Permite alterar o comportamento de um algoritmo em tempo de execução — usado para algoritmos intercambiáveis.
  • Factory Method: Cria objetos sem especificar a classe exata — útil para instanciar tipos, mas não para notificação.
  • Decorator: Adiciona funcionalidades a objetos de forma dinâmica — usado para extensão de comportamento, não para notificação.

@reviseodireito

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo