Pular para conteúdo

Exercícios: Aula 06 📝

Pratique a criação de serviços e o compartilhamento de dados.

Básico

  1. Geração: Qual o comando CLI completo para gerar um serviço chamado Config dentro da pasta core/services?
  2. ProvidedIn: O que significa o parâmetro { providedIn: 'root' } dentro do decorator @Injectable?

Intermediário

  1. Injeção: Como você injeta um serviço chamado LogService dentro do construtor de um componente? Escreva a linha de código.
  2. Singleton: Se dois componentes diferentes injetarem o mesmo serviço e um deles alterar uma variável dentro desse serviço, o outro componente verá a mudança? Justifique.

Desafio

5. Simulação de API: Crie um serviço chamado PostService. Ele deve ter um método que retorne um array de objetos (com titulo e autor). Injete esse serviço em um componente e use o *ngFor para exibir esses posts formatados como cards no HTML.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Geração **Resolução e Implementação:**
// Estrutura de implementação recomendada para Geração
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Serviços e Injeção de Dependência**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: ProvidedIn **Resposta Comentada:** - **Fundamentação:** No contexto de **Serviços e Injeção de Dependência**, o conceito abordado (ProvidedIn) é 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 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 **Serviços e Injeção de Dependência**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Singleton **Resposta Comentada:** - **Fundamentação:** No contexto de **Serviços e Injeção de Dependência**, o conceito abordado (Singleton) é 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: Simulação de API **Resolução e Implementação:**
// Estrutura de implementação recomendada para Simulação de API
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Serviços e Injeção de Dependência**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.