Pular para conteúdo

Exercícios: Arquitetura e Boas Práticas 🏗️

Instruções

Aplique padrões de design para criar códigos mais limpos e testáveis.


🟢 Nível: Básico

  1. Refatoração: Mova sua struct principal para uma pasta chamada entities.
  2. Interface: Crie uma interface que defina as operações básicas de persistência de um objeto seu (ex: Salvar, BuscarPorID).

🟡 Nível: Intermediário

  1. Injeção: Crie uma struct Gestor que possua um campo que é a interface do exercício anterior. Crie uma função NewGestor para injetar a implementação.
  2. Internal: Mova sua lógica de banco de dados para uma pasta internal/repository e verifique como as permissões de acesso funcionam entre pacotes.

🔴 Nível: Desafio

5. Mock Manual: Escreva um teste para o seu Gestor (do exercício 3). No teste, crie uma struct "fake" que implementa a interface de repositório (sem usar banco real) e injete-a no gestor. Verifique se o gestor chama os métodos corretamente.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Refatoração **Resposta Comentada:** - **Fundamentação:** No contexto de **Arquitetura e Boas Práticas ️**, o conceito abordado (Refatoração) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Interface **Resolução e Implementação:**
// Estrutura de implementação recomendada para Interface
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Arquitetura e Boas Práticas ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Injeção **Resolução e Implementação:**
// Estrutura de implementação recomendada para Injeção
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Arquitetura e Boas Práticas ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Internal **Resposta Comentada:** - **Fundamentação:** No contexto de **Arquitetura e Boas Práticas ️**, o conceito abordado (Internal) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Mock Manual **Resolução e Implementação:**
// Estrutura de implementação recomendada para Mock Manual
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Arquitetura e Boas Práticas ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.