Validação em classe de serviço (Swing) de forma a deixá-la o mais desacoplada possível

Estou criando um pequeno programa desktop (swing) e dividindo a interface gráfica (JFrame) da classe que executa o serviço, de forma que fiquem o mais desacoplados.
Minha idéia é ter essa aplicação funcionando em desktop por enquanto e quando eu tiver mais tempo livre, usar com um Servlet/JSP.

Com relação aos parâmetros passados pelo usuário para execução do serviço, qual é a forma mais correta de tratar esses parâmetros fazer que fique desacoplado e consistente para quando eu quiser migrar a classe de serviço?

  • Fazendo as validações de parâmetros do usuário dentro da classe de serviço?
  • Somente na interface gráfica? (no caso, provavelmente seria validação javascript para aplicação web e validação no código java do JFrame para aplicação desktop
  • Ou em ambos?

Qual a forma correta?

Parâmetros dos usuários são as entradas que o usuário faz no formulário, desktop ou web, para executar a operação desejada.