Sobes.tech
Назад к вопросам
Junior — Middle
92

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

Компании, где спрашивали
bip.ru

Ответ от нейросети

sobes.tech AI

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

Суть этого принципа в том, что клиенты не должны зависеть от интерфейсов, которые они не используют. То есть лучше создавать несколько специализированных интерфейсов, чем один большой универсальный.

Это помогает сделать код более гибким, понятным и облегчает его поддержку.

Пример:

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

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

protocol Printer {
    func printDocument()
}

protocol Scanner {
    func scanDocument()
}

// Теперь класс может реализовать только нужный интерфейс
class SimplePrinter: Printer {
    func printDocument() {
        print("Печать документа")
    }
}