Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, co oznacza litera 'I' w zasadzie SOLID?

sobes.tech AI

Odpowiedź od AI

Litera "I" w zasadzie SOLID oznacza Zasadę Rozdzielania Interfejsów.

Istota tej zasady polega na tym, że klienci nie powinni zależeć od interfejsów, których nie używają. Lepszym rozwiązaniem jest tworzenie kilku specjalistycznych interfejsów, niż jednego dużego uniwersalnego.

To pomaga uczynić kod bardziej elastycznym, zrozumiałym i ułatwia jego utrzymanie.

Przykład:

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

// Naruszenie ISP: jeśli klasa potrafi tylko drukować, ale jest zmuszona do implementacji scanDocument

protocol Printer {
    func printDocument()
}

protocol Scanner {
    func scanDocument()
}

// Teraz klasa może zaimplementować tylko potrzebny interfejs
class SimplePrinter: Printer {
    func printDocument() {
        print("Drukowanie dokumentu")
    }
}