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")
}
}