Sobes.tech
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.