Considere o exemplo abaixo, relacionado ao sistema de...
Imagem de fundo

Considere o exemplo abaixo, relacionado ao sistema de...

Considere o exemplo abaixo, relacionado ao sistema de tramitação processual em um tribunal:


Imagem associada para resolução da questão


Segundo o Princípio da Segregação de Interface (ISP), pertencente ao conjunto de princípios SOLID, esse código apresenta um problema de design, já que a classe AnalistaTI é obrigada a implementar o método realizarAudiencia(), mesmo que esse comportamento não se aplique a sua função, que é técnica e não jurisdicional. Para corrigir essa violação ao ISP, a abordagem mais adequada é


A

implementar uma exceção no método realizarAudiencia() da classe AnalistaTI, lançando UnsupportedOperationException sempre que ele for chamado.


B

remover o método realizarAudiencia() da interface ServidorJudiciario, criando interfaces separadas para responsabilidades distintas, pois nenhum cliente deve ser forçado a depender de métodos que não utiliza.


C

manter a interface ServidorJudiciario como está, mas implementar o método realizarAudiencia() na classe AnalistaTI com um corpo vazio, garantindo compatibilidade com a interface.


D

tornar o método realizarAudiencia() um método default com implementação vazia na interface, permitindo que AnalistaTI não precise sobrescrevê-lo.


E

substituir a interface ServidorJudiciario por uma classe abstrata que implemente analisarProcesso() e realizarAudiencia() com comportamento genérico, permitindo que AnalistaTI herde dela.