Sobes.tech
Junior — Middle

Pode explicar o que significa a letra 'I' no princípio SOLID?

sobes.tech IA

Resposta da IA

A letra "I" em princípio SOLID significa Princípio de Segregação de Interfaces.

A essência deste princípio é que os clientes não devem depender de interfaces que não utilizam. Ou seja, é melhor criar várias interfaces especializadas do que uma grande e universal.

Isto ajuda a tornar o código mais flexível, compreensível e facilita a sua manutenção.

Exemplo:

protocol Printer {
    func printDocument()
    func scanDocument()
}

// Violação do ISP: se uma classe só consegue imprimir, mas é forçada a implementar scanDocument

protocol Printer {
    func printDocument()
}

protocol Scanner {
    func scanDocument()
}

// Agora a classe pode implementar apenas a interface necessária
class SimplePrinter: Printer {
    func printDocument() {
        print("Imprimir documento")
    }
}