Фабричные методы против инъекционного фреймворка в Python - что чище?

Что я обычно делаю в своих приложениях, так это то, что я создаю все свои сервисы / dao / repo / clients, используя фабричные методы class Service: def init(self, db): self._db = db @classmethod def from_env(cls): return cls(db=PostgresDatabase.from_env()) И когда я создаю приложение, я делаю...