İçeriğe geç

Service Locator enjeksiyonu (ARCH2198)

Anahtar python.quality.service-locator · Önem warning · Kategori quality

Konteyneri/sağlayıcıyı enjekte edip servisleri ondan çözmek bağımlılıkları gizler ve test edilebilirliği zorlaştırır. Bağımlılıkları doğrudan yapıcıdan enjekte edin.

class OrderService:
def __init__(self, container):
self.container = container
def run(self):
repo = self.container.resolve("repo")
repo.save()
class OrderService:
def __init__(self, repo):
self.repo = repo
def run(self):
self.repo.save()

Konteyner yerine somut bağımlılıkları yapıcı üzerinden açıkça enjekte edin.