Questão de Programação — Frameworks em Programação — Quadrix 2024
- Código
- qg354228
- Banca
- Quadrix
- Órgão
- IBICT
- Ano
- 2024
- Nível
- Superior
- Cargo
- Tecnologista - Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO. No Angular, os serviços são classes que fornecem funcionalidades específicas e podem — e devem — ser compartilhados entre vários componentes, por meio do mecanismo de injeção de dependência. A afirmação do item inverte exatamente essa característica central do framework.
Os serviços no Angular são a forma recomendada de organizar lógica de negócio, acesso a dados e funcionalidades reutilizáveis, mantendo os componentes enxutos e focados na apresentação. A injeção de dependência (DI) é o mecanismo que permite que um serviço seja declarado uma única vez e, então, injetado em quantos componentes forem necessários. Isso promove a reutilização de código, a testabilidade e a manutenibilidade — princípios fundamentais do desenvolvimento de software.
Na prática, um serviço é uma classe TypeScript anotada com o decorator @Injectable(). Quando um componente declara esse serviço em seu construtor, o Angular resolve a dependência e fornece uma instância do serviço. Por padrão, um serviço é um singleton no nível do injetor raiz, ou seja, a mesma instância é compartilhada por toda a aplicação — o que reforça ainda mais a ideia de compartilhamento. É possível também configurar o escopo do serviço para um módulo ou componente específico, mas isso é uma escolha de design, não uma limitação.
A pegadinha da banca está em afirmar que os serviços "não podem ser compartilhados", quando na verdade o compartilhamento é a finalidade deles. Se os serviços não pudessem ser compartilhados, cada componente teria que duplicar a lógica, o que tornaria o framework muito menos útil. A banca explora a confusão entre "classe que fornece funcionalidade específica" (o que é verdade) e "não pode ser compartilhada" (o que é falso).
A banca inverte o propósito dos serviços no Angular. Ela afirma que, por serem classes com funcionalidades específicas, eles não podem ser compartilhados — quando o compartilhamento é justamente a razão de existirem. O candidato que sabe que serviços são injetáveis e reutilizáveis percebe o erro na hora.
A afirmação está incorreta porque os serviços no Angular são projetados para serem compartilhados entre componentes. O mecanismo de injeção de dependência permite que um serviço seja fornecido a múltiplos componentes, promovendo reutilização e desacoplamento. A característica de "fornecer funcionalidades específicas" não impede o compartilhamento — pelo contrário, é o que o torna desejável.
Gabarito: ERRADO
Link permanente: /questoes/qg354228