Questions tagged «clean-architecture»

3
Python中的工厂方法与注入框架-什么更清洁?
我通常在应用程序中执行的操作是,使用工厂方法创建所有服务/ dao / repo / clients class Service: def init(self, db): self._db = db @classmethod def from_env(cls): return cls(db=PostgresDatabase.from_env()) 当我创建应用程序时 service = Service.from_env() 什么创建所有依赖关系 在测试中,当我不想使用真正的数据库时,我只做DI service = Service(db=InMemoryDatabse()) 我想这与clean / hex体系结构相差很远,因为Service知道如何创建数据库并知道它创建哪种数据库类型(也可以是InMemoryDatabse或MongoDatabase) 我想在干净/十六进制架构中 class DatabaseInterface(ABC): @abstractmethod def get_user(self, user_id: int) -> User: pass import inject class Service: @inject.autoparams() def __init__(self, db: …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.