Sobes.tech
Middle+

Fale sobre o princípio da separação de interfaces.

sobes.tech IA

Resposta da IA

O Princípio da Segregação da Interface (ISP) é o quinto princípio do SOLID. Ele afirma que os clientes não devem depender de interfaces que não utilizam.

Isto significa que é melhor ter múltiplas interfaces pequenas e especializadas do que uma grande interface "gorda".

Vantagens:

  • Redução do acoplamento: As classes dependem apenas dos métodos que realmente precisam.
  • Melhoria na manutenção: Alterações numa interface não afetam as classes que não usam o método alterado.
  • Aumento da flexibilidade: As classes podem implementar apenas as interfaces necessárias.

Exemplo (PHP):

<?php
// Exemplo mau: interface "gorda"
interface WorkerInterface {
    public function work();
    public function eat();
    public function sleep();
}

// Exemplo bom: interfaces especializadas
interface WorkerInterface {
    public function work();
}

interface EatableInterface {
    public function eat();
}

interface SleepableInterface {
    public function sleep();
}
?>

No QA/QA Automation, este princípio é importante no projeto de frameworks de teste, classes auxiliares e páginas do modelo de objetos (Page Object Model), para evitar dependências excessivas e tornar o código mais modular e fácil de testar e manter. Por exemplo, a interface para trabalhar com diferentes tipos de elementos de página web pode ser dividida em interfaces menores para botões, campos de entrada, listas suspensas, etc.