Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvidas de boa pratica

Em um projeto real e muito comum encontramos classes abaixo:

CodeBlogController.java CodeBlogRepository.java CodeBlogService.java CodeBlogServiceImpl.java

Minha duvida é, a classe CodeBlogServiceImpl.java seria necessaria ? ja que ela vai apenas implementar a CodeBlogService.java

@Service
public class CodeblogServiceImpl implements CodeblogService { //metodos}

public interface CodeblogService { //metodos }


public class CodeblogController {

    @Autowired
    CodeblogService codeblogService;

    public ModelAndView getPosts() { ... }
}
1 resposta
solução!

Oi Francisco,

Eu não gosto desse tipo de padrão, pois você acaba criando uma interface pensando em polimorfismo, mas ela sempre terá apenas uma única implementação, perdendo assim o sentido.

Esse é um dos padrões comuns em projetos reais que as pessoas usam simplesmente por usar. Já estão acostumadas a verem projetos que fazem desse jeito e continuam fazendo :D

Nesses cenários eu prefiro ter apenas a classe Service e injeta-la diretamente no controller.

Bons estudos!

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