Junior — Middle
Bog'liq, siz bog'liq bo'lib, bog'liq bo'lib, dasturiy ta'minot ishlab chiqishda qanday qo'llaniladi?
sobes.tech AI
AIdan javob
Dependency Injection (DI) — bu dizayn naqshasi bo‘lib, unda obyektlar o‘z bog‘liqliklarini tashqaridan oladi, o‘zlari yaratmaydi. Bu kodning modulli, test qilishga qulay va moslashuvchan bo‘lishini ta’minlaydi.
Misol: sinf o‘zi bazaviy ma’lumotlar bazasi ob’ektini yaratish o‘rniga, uni konstruktor yoki setter orqali oladi.
class Database:
def query(self):
return "ma’lumotlar"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Bog‘liqlikni injektsiya qilish
database = Database()
service = Service(database)
print(service.get_data())
Bu yondashuv bog‘liqliklarni (masalan, testlarda mocklar bilan) o‘zgartirishni osonlashtiradi va kodni qo‘llab-quvvatlashni yaxshilaydi.