Junior — Middle
Meg tudná magyarázni a D betű jelentését a SOLID elvekben?
sobes.tech MI
Válasz az MI-től
A SOLID elvek D betűje a Dependency Inversion Principle (Függőség fordított elv) jelentése.
Ennek az elvnek a lényege:
- A magas szintű moduloknak nem szabad alacsony szintű modulokra támaszkodniuk. Mindkettőnek az absztrakciókra kell támaszkodnia.
- Az absztrakcióknak nem szabad a részletektől függniük. A részleteknek az absztrakcióktól kell függniük.
Ez segít csökkenteni a kód összekapcsoltságát és növeli a rugalmasságát és tesztelhetőségét.
Példa Dart/Flutter:
abstract class Database {
void saveData(String data);
}
class SqlDatabase implements Database {
@override
void saveData(String data) {
print('Adatok mentése SQL adatbázamba: $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('Példa adat');
}
Itt a DataManager nem függ egy konkrét adatbázis implementációtól, hanem az absztrakciótól, a Database-től. Ez lehetővé teszi az adatbázis implementációjának könnyű cseréjét anélkül, hogy módosítani kellene a DataManager-t.