Junior — Middle
Asılılıqların injeksiyası anlayışını izah edə bilərsiniz və proqram təminatı inkişafında necə tətbiq olunur?
sobes.tech Süni İntellekt
AI-dan cavab
Asılılıqların İnkişafı (Dependency Injection, DI) — bu dizayn nümunəsidir ki, burada obyektlər öz asılılıqlarını xaricdən alır, özləri yaratmır. Bu, kodun modulluğunu, test edilə bilməsini və çevikliyini artırır.
Misal: sinif özü verilənlər bazası obyektini yaratmaq əvəzinə, onu konstruktor və ya setter vasitəsilə alır.
class Database:
def query(self):
return "məlumatlar"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Asılılıq injeksiyası
database = Database()
service = Service(database)
print(service.get_data())
Bu yanaşma asılılıqları (məsələn, testlərdə mock-lar ilə) dəyişdirməyi asanlaşdırır və kodun dəstəyini yaxşılaşdırır.