Bom dia!
Minha dúvida está relacionado a boas práticas. Abaixo vou detalhar um cenário de uma aplicação, para melhor endendimento dessa dúvida.
Cenário:
Em um aplicação onde todos os dados vão ser consumido de um único servidor. Eu tenho o lado do cliente final e do gerenciador. O gerenciador basicamente ele faz cadastros de outras pessoas que pode gerenciar o sistema, cadastro de produtos, e etc... E no lado do cliente final é exibido todos os produtos definidos pelo gerenciador.
Então nesse cenário qual séria a melhor solução para o meu modelo, ele ter uma relação entre essas duas classes, ex:
public abstract class Usuario {}
public class Cliente extends Usuario {}
public class Gerente extends Usuario {}
É uma boa prática ter essa relação entre elas, ou devo criar duas classes distintas já que uma é para acesso do lado do Gerenciador e outra é para acesso do lado do Cliente final. Tem alguma melhor forma para fazer isso?