#Solid prinsiplari nima ?
Single Responsibility: class faqat bitta masʼuliyatga ega bo’lishi kerak misol uchun student class faqat student mehtodlariga javob beradi lekin teacher methodlariga javob bermaydi.
Open/Closed: class ga qo’shimchalar qo’shishga ochiq lekin oldin yozilgan kodlarni o’zgartirishga yopiq.
Liskov Substitution: Kodimizgda hech qanday o’zgartirish kiritmasdan, ularning Parent (yuqori) classlarini o’rniga Inheritence (pastki) classlardan foydalanishimiz mumkin bo’lishi kerak.
Interface Segregation: interfeyslarga bo’lish tamoyili, hamma holat uchun umumy bo’lgan interfeysdan, har bir mijoz uchun alohida bo’lgan ko’plab interfeyslar yaxshi. Vaqt o’tishi bilan Sizning loyihangiz kengayadi, unga yangi funksiyalar, imkoniyatlar qo’shiladi. Bunda, loyiha boshidan loyiha strukturasi ustidan kuchli nazorat olib borilmasa, loyiha boshida aniq bir funksiyani bajaruvchi metodlar, loyiha oxiriga borib umuman boshqa vazifani bajarishi mumkin
Dependency Inversion: classlar orasidagi muhtojliklar imkon qadar past bo’lishi kerak, ayniqsa yuqori darajadagi classlar quyi darajadagi classlarga muhtoj bo’lmasligi kerak.
Single Responsibility: class faqat bitta masʼuliyatga ega bo’lishi kerak misol uchun student class faqat student mehtodlariga javob beradi lekin teacher methodlariga javob bermaydi.
Open/Closed: class ga qo’shimchalar qo’shishga ochiq lekin oldin yozilgan kodlarni o’zgartirishga yopiq.
Liskov Substitution: Kodimizgda hech qanday o’zgartirish kiritmasdan, ularning Parent (yuqori) classlarini o’rniga Inheritence (pastki) classlardan foydalanishimiz mumkin bo’lishi kerak.
Interface Segregation: interfeyslarga bo’lish tamoyili, hamma holat uchun umumy bo’lgan interfeysdan, har bir mijoz uchun alohida bo’lgan ko’plab interfeyslar yaxshi. Vaqt o’tishi bilan Sizning loyihangiz kengayadi, unga yangi funksiyalar, imkoniyatlar qo’shiladi. Bunda, loyiha boshidan loyiha strukturasi ustidan kuchli nazorat olib borilmasa, loyiha boshida aniq bir funksiyani bajaruvchi metodlar, loyiha oxiriga borib umuman boshqa vazifani bajarishi mumkin
Dependency Inversion: classlar orasidagi muhtojliklar imkon qadar past bo’lishi kerak, ayniqsa yuqori darajadagi classlar quyi darajadagi classlarga muhtoj bo’lmasligi kerak.
👍3