Sobes.tech
Junior — Middle

Կարող եք բացատրել կախվածությունների մուտքի կոնցեպցիան և ինչպես է այն կիրառվում ծրագրային ապահովման զարգացման մեջ։

sobes.tech AI

Պատասխան AI-ից

Ավելի մեծ կախվածության ներդրում (Dependency Injection, DI) — դա նախագծման ձևաչափ է, որի ժամանակ օբյեկտները ստանում են իրենց կախվածությունները արտաքինից, այլ ոչ թե ինքնուրույն ստեղծում են դրանք։ Սա մեծացնում է մոդուլայնությունը, թեստավորելիությունը և կոդի ճկունությունը։

Օրինակ՝ փոխարենը, որ դասը ինքն ստեղծի տվյալների բազայի օբյեկտը, այն ստանում է կոնստրուկտորով կամ սեթթերով։

class Database:
    def query(self):
        return "տվյալներ"

class Service:
    def __init__(self, db: Database):
        self.db = db

    def get_data(self):
        return self.db.query()

# Կախվածության ներդրում
database = Database()
service = Service(database)
print(service.get_data())

Այս մոտեցումը հեշտացնում է կախվածությունների փոխարինումը (օրինակ՝ թեստերում մոկերով) և բարելավում է կոդի սպասարկումը։