Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

TokenService vs TokenUtil

Boa tarde

No curso foi utilizado a estratégia de se utilizar uma classe do tipo Service para implementar métodos relacionados ao token (tokenService.ts). Porém, em alguns projetos percebo que a implementação de métodos relacionados ao token são feitos em uma classe utilitária (tradicionalmente chamada de Utils / Utilities). Dessa forma, sabendo-se que ao final o resultado obtido será o mesmo (tanto da 1º estratégia - service, quanto da 2º estratégia - util), gostaria de saber se existe algum tipo de recomendação para se aderir a uma classe Service ao invés de uma classe Util para essa finalidade?

Obrigado.

2 respostas
solução!

Olá, Felipe, tudo bem?

Nos desculpe a demora a responder.

De fato, ambas as abordagens funcionam de forma semelhante, mas os serviços são melhor integrados ao Angular, basicamente porque os usamos como injeção de dependências. Dessa forma, nosso código se torna mais organizado porque sabemos quais componentes e classes utilizam quais serviços, além de nos ajudar a separar responsabilidades ao escolher quais serviços devem ser injetados e onde.

Você pode ler mais sobre os serviços do Angular na documentação, bem como boas práticas.

É uma boa prática utilizar serviços, mas se você estiver trabalhando em um projeto menor, não deve haver muito problema em usar classes Utils.

Espero ter ajudado! Abraços e bons estudos :)

Bom dia Antônio

Obrigado pela explicação.

Perfeito, no meu caso estou utilizando um "Util" chamado LocalStorageUtil apenas com funções básicas de adicionar / remover / consultar uma chave que for passada por parâmetro nos devidos métodos.

Porém, para métodos relacionados ao Token irei utilizar um "Service" dedicado para isso e que apenas se utiliza de métodos comuns do "Util" LocalStorageUtil.

Obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software