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("Печат на документ")
}
}