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