Skip to content

关于路径操作函数使用依赖方法时重复实例化对象的问题 #2

@linwanlong

Description

@linwanlong
# 专有的依赖项,不适用于通过工厂函数来构造,就单独写
def get_hero_service(
    session: AsyncSession = Depends(get_db), redis: Redis = Depends(get_cache_redis)
) -> HeroService:
    """Dependency for getting HeroService instance."""
    repository = HeroRepository(session)
    return HeroService(repository, redis)

如上代码逻辑在路径操作函数中,陆续收到多个请求时,会多次重复的实例化 HeroRepository HeroService,既然是无状态对象,为什么不能保证全局只有一个 HeroRepositoryHeroService呢,这样的话还能减少性能开销。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions