Junior — Middle
SOLID tamoyillarida D harfining ma'nosini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
SOLID tamoylaridagi D harfi Dependency Inversion Principle (Bog'lanishlarni teskari aylantirish prinsipi) ni anglatadi.
Ushbu prinsipning mohiyati:
- Yuqori darajadagi modullar past darajadagi modullarga bog'liq bo'lmasligi kerak. Ikkalasi ham abstraktsiyalarga bog'liq bo'lishi kerak.
- Abstraktsiyalar detallarga bog'liq bo'lmasligi kerak. Detallar abstraktsiyalarga bog'liq bo'lishi kerak.
Bu koddagi bog'liqlikni kamaytirishga va uning moslashuvchanligi va test qilish imkoniyatini oshirishga yordam beradi.
Dart/Flutter misoli:
abstract class Database {
void saveData(String data);
}
class SqlDatabase implements Database {
@override
void saveData(String data) {
print('SQL bazaga ma'lumotlarni saqlash: $data');
}
}
class DataManager {
final Database database;
DataManager(this.database);
void save(String data) {
database.saveData(data);
}
}
void main() {
Database db = SqlDatabase();
DataManager manager = DataManager(db);
manager.save('Misol ma'lumot');
}
Bu yerda, DataManager aniq ma'lumotlar bazasi amalga oshirishiga bog'liq emas, balki Database abstraktsiyasiga bog'liq. Bu, ma'lumotlar bazasi amalga oshirishini osonlik bilan o'zgartirish imkonini beradi, DataManagerni o'zgartirmasdan.