Sobes.tech
Junior — Middle

Можете ли да објасните шта значи слово 'I' у принципу SOLID?

sobes.tech АИ

Одговор од АИ

Slovo "I" u principima SOLID obično označava Princip razdvajanja sučelja.

Suština ovog principa je da klijenti ne bi trebalo da zavise od sučelja koja ne koriste. Bolje je kreirati više specijalizovanih sučelja nego jedno veliko univerzalno.

Ovo pomaže da kod bude fleksibilniji, razumljiviji i lakši za održavanje.

Primer:

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

// Kršenje ISP: ako klasa može samo da štampa, ali je primorana da implementira scanDocument

protocol Printer {
    func printDocument()
}

protocol Scanner {
    func scanDocument()
}

// Sada klasa može implementirati samo potrebni interfejs
class SimplePrinter: Printer {
    func printDocument() {
        print("Štampanje dokumenta")
    }
}