Junior — Middle
Мо метавонед шарҳ диҳед, ки ҳарфи 'I' дар принсипи SOLID чӣ маъно дорад?
sobes.tech AI
Ҷавоб аз AI
SOLID принципларида "I" ҳарфи одатда Интерфейсларни ажратиш принципи (Interface Segregation Principle) маъносини англатади.
Бу принципнинг асосий мазмуни шундаки, мижозлар улардан foydalanmayдиган интерфейсларга боғлиқ бўлмаслиги керак. Яхшироқ бўлиши учун, бир катта ва умумий интерфейс ўрнига, бир неча мутахассислашган интерфейслар яратиш мақбул.
Бу кодни янада мослашувчан, тушунарли ва унинг хизмат кўрсатишини осонлаштиради.
Масалан:
protocol Printer {
func printDocument()
func scanDocument()
}
// ISP ни бузиш: агар синф фақат чоп этиш имкониятига эга бўлса, лекин scanDocument ни амалга ошириш мажбуриятига эга
protocol Printer {
func printDocument()
}
protocol Scanner {
func scanDocument()
}
// Энди синф фақат зарурий интерфейсни амалга ошира олади
class SimplePrinter: Printer {
func printDocument() {
print("Ҳужжатни чоп этиш")
}
}