Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

Буквата "I" в принципите SOLID обикновено означава Принцип на разделяне на интерфейсите.

Същността на този принцип е, че клиентите не трябва да зависят от интерфейси, които не използват. По-добре е да се създадат няколко специализирани интерфейса, отколкото един голям универсален.

Това помага да се направи кодът по-гъвкав, разбираем и по-лесен за поддръжка.

Пример:

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

// Нарушение на ISP: ако класът може само да печата, но е принуден да реализира scanDocument

protocol Printer {
    func printDocument()
}

protocol Scanner {
    func scanDocument()
}

// Сега класът може да реализира само необходимия интерфейс
class SimplePrinter: Printer {
    func printDocument() {
        print("Печат на документ")
    }
}