Pular para conteúdo

Quiz: Aula 06 ❓

Teste seus conhecimentos sobre Serviços e Injeção de Dependência.

  1. Qual decorator identifica uma classe como um serviço injetável?

    • ( ) @Component()
    • ( ) @NgModule()
    • (x) @Injectable()
    • ( ) @Input()
    • Explicação: O @Injectable() avisa ao Angular que a classe pode ser injetada em outras.
  2. Como se chama o padrão onde existe apenas uma instância de uma classe para toda a aplicação?

    • ( ) Factory
    • ( ) Observer
    • (x) Singleton
    • ( ) Prototype
    • Explicação: Serviços com providedIn: 'root' funcionam como Singletons.
  3. Onde geralmente fazemos a injeção do serviço no componente?

    • ( ) No método ngOnInit()
    • (x) No constructor()
    • ( ) Nos metadados do @Component
    • ( ) No arquivo CSS
    • Explicação: O construtor é o local padrão para definir as dependências do componente.
  4. Qual o comando CLI para criar um serviço?

    • ( ) ng g c servico
    • (x) ng g s servico
    • ( ) ng new servico
    • ( ) ng build s
    • Explicação: ng g s (generate service) é o comando correto.
  5. Serviços devem conter lógica de interface (DOM)?

    • ( ) Sim, para facilitar a manipulação
    • (x) Não, eles devem focar em dados e lógica de negócio
    • ( ) Sim, se o componente for muito grande
    • ( ) Apenas se for para mudar a cor de um botão
    • Explicação: Serviços devem ser independentes da UI para serem reutilizáveis.
  6. O que acontece se você não usar o private ou public no construtor ao injetar?

    • ( ) O código não compila
    • (x) O serviço não se torna uma propriedade da classe acessível nos métodos
    • ( ) O serviço é deletado
    • ( ) O Angular injeta em dobro
    • Explicação: Usar o modificador de acesso cria automaticamente uma propriedade na classe.
  7. Para que serve a Injeção de Dependência?

    • ( ) Para aumentar o tamanho do código
    • (x) Para desacoplar a criação do objeto de quem o utiliza
    • ( ) Para acelerar o download do site
    • ( ) Para substituir o HTML
    • Explicação: A DI facilita o teste e a manutenção ao gerenciar as instâncias automaticamente.
  8. Posso injetar um serviço dentro de outro serviço?

    • (x) Sim, é perfeitamente possível e comum
    • ( ) Não, serviços só podem ser injetados em componentes
    • ( ) Sim, mas apenas se o serviço for do tipo AuthService
    • ( ) Não, gera erro de referência circular sempre
    • Explicação: O Angular permite hierarquias de injeção entre serviços.
  9. O que é o providedIn?

    • ( ) Um método para somar números
    • (x) Uma propriedade que define o escopo de visibilidade do serviço
    • ( ) Uma tag HTML
    • ( ) Um comando do Git
    • Explicação: Define onde o "Injetor" do Angular deve registrar o serviço.
  10. Qual a vantagem de usar um serviço para buscar dados de uma API?

    • ( ) O código fica mais bonito
    • (x) Centraliza a lógica de acesso a dados e facilita mudanças futuras
    • ( ) O Angular obriga a fazer assim
    • ( ) Diminui o número de arquivos
    • Explicação: Centralizar dados permite que qualquer parte da app acesse a mesma fonte de verdade.