Junior — Middle
Bağımlılık enjeksiyonu kavramını açıklayabilir misiniz ve yazılım geliştirmede nasıl uygulanır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bağımlılık Enjeksiyonu (Dependency Injection, DI), nesnelerin bağımlılıklarını kendilerinin değil, dışarıdan aldığı tasarım desenidir. Bu, kodun modülerliğini, test edilebilirliğini ve esnekliğini artırır.
Örnek: sınıfın kendisi bir veritabanı nesnesi oluşturmak yerine, bunu yapıcı veya ayar metoduyla alır.
class Database:
def query(self):
return "veri"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Bağımlılık Enjeksiyonu
database = Database()
service = Service(database)
print(service.get_data())
Bu yaklaşım, bağımlılıkların (örneğin, testlerde sahte nesnelerle) değiştirilmesini kolaylaştırır ve kodun bakımını iyileştirir.