Skip to content

Lucianoottor/ProvaProjectPatterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProvaProjectPatterns

Questão 1: Sistema de Logística Problema: Calcular tarifas de frete para diferentes modalidades de transporte (terrestre, aéreo, marítimo), cada uma com sua própria regra de cálculo.

Padrão Escolhido: Strategy

Justificativa: Permitir encapsular cada regra de cálculo em sua própria classe, permitindo que o sistema principal trate todas as modalidades de forma genérica, sem usar condicionais.

Questão 2: Plataforma de Pagamentos Problema: Criar processadores para diferentes meios de pagamento (Cartão, Boleto, PIX) sem que o código cliente conheça os detalhes da criação de cada um.

Padrão Escolhido: Factory Method

Justificativa: Factory Method transfere a instanciação para a classe "fábrica", desacoplando o cliente das classes concretas. O cliente simplesmente solicita um processador de um tipo específico, e a fábrica decide qual objeto new instanciar e retornar.

Questão 3: Notificação em Site de Notícias Problema: Notificar múltiplos leitores sempre que uma nova notícia for publicada em um tópico de interesse ao qual eles se inscreveram.

Padrão Escolhido: Observer

Justificativa: Este é o cenário clássico de "publicar/assinar" (publish-subscribe). O padrão Observer cria uma relação de um-para-muitos, onde um objeto (o Tópico) notifica automaticamente todos os seus dependentes (os Leitores) sobre qualquer mudança de estado, sem que o Tópico precise conhecer quem são os Leitores.

Questão 4: Relatórios com Funcionalidades Adicionais Problema: Adicionar funcionalidades opcionais (estatísticas, gráficos, exportação PDF) a um relatório básico sem alterar seu código-fonte.

Padrão Escolhido: Decorator

Justificativa: Adicionar responsabilidades a um objeto de forma dinâmica. O padrão Decorator permite "envelopar" o objeto base com novas funcionalidades em tempo de execução. Isso oferece uma alternativa flexível à herança, evitando uma explosão de subclasses para cada combinação de recurso.

Questão 5: Modelos de Documentos Problema: Criação rápida de novos documentos personalizáveis a partir de modelos pré-existentes, sem o custo de recriar a estrutura do zero.

Padrão Escolhido: Prototype

Justificativa: O padrão Prototype permite criar novos objetos copiando uma instância existente, desacoplando o cliente do processo de criação.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages