Pular para o conteúdo principal

Questão de Programação — Frameworks em Programação — Quadrix 2024

ProgramaçãoFrameworks em Programação
Código
qg354228
Banca
Quadrix
Órgão
IBICT
Ano
2024
Nível
Superior
Cargo
Tecnologista - Tecnologia da Informação
No que diz respeito ao Bootstrap, ao TypeScript e ao Angular, versão 1, julgue o item.No Angular, em virtude de os serviços serem classes que fornecem funcionalidades específicas, essas classes não podem ser compartilhadas entre vários componentes.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Serviços no Angular: compartilhamento entre componentes

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).

NÃO CAIA NESSA!

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.

1O que são
Classes com funcionalidades específicas
Anotadas com @Injectable()
2Compartilhamento
Podem ser compartilhados entre componentes
Injeção de dependência (DI)
Singleton no injetor raiz (padrão)
3Benefícios
Reutilização de código
Testabilidade
Manutenibilidade
Componentes enxutos
Serviços no Angular
LEVELsoulevel.com.br
Serviços no Angular: O que são (Classes com funcionalidades específicas, Anotadas com @Injectable()); Compartilhamento (Podem ser compartilhados entre componentes, Injeção de dependência (DI), Singleton no injetor raiz (padrão)); Benefícios (Reutilização de código, Testabilidade, Manutenibilidade, Componentes enxutos)

Item — ❌ ERRADO

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