Quiz: Aula 06 ❓
Teste seus conhecimentos sobre Serviços e Injeção de Dependência.
-
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.
-
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.
-
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.
-
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.
-
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.
-
O que acontece se você não usar o
privateoupublicno 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.
-
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.
-
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.
-
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.
-
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.