Junior — Middle
SOLID принципинде 'I' тамгасы эмне мааниге ээ экенин түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
SOLID принциптеринде "I" тамгасы жалпы эле Интерфейслерди бөлүү принциби (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("Документти басып чыгуу")
}
}