Sobes.tech
Junior — Middle

SOLID tamoyilida 'I' harfi nima anglatishini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

SOLID asosida "I" harfi odatda Interfeyslarni ajratish prinsipi (Interface Segregation Principle) ni anglatadi.

Bu prinsipning mohiyati shuki, mijozlar foydalanmaydigan interfeyslar bilan bog'liq bo'lishlari shart emas. Yaxshiroq bo'lishi uchun, bir katta va umumiy interfeys o'rniga, bir nechta maxsuslashtirilgan interfeyslar yaratish ma'qul.

Bu kodni yanada moslashuvchan, tushunarli qilishga yordam beradi va uni qo'llab-quvvatlashni osonlashtiradi.

Misol:

protocol Printer {
    func printDocument()
    func scanDocument()
}

// ISP ni buzish: agar sinf faqat chop etishni bilsa, lekin scanDocument ni amalga oshirish majburiyati

protocol Printer {
    func printDocument()
}

protocol Scanner {
    func scanDocument()
}

// Endi sinf faqat kerakli interfeysni amalga oshirishi mumkin
class SimplePrinter: Printer {
    func printDocument() {
        print("Hujjatni chop etish")
    }
}