Sobes.tech
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("Ҳужжатни чоп этиш")
    }
}