# 专有的依赖项,不适用于通过工厂函数来构造,就单独写
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,既然是无状态对象,为什么不能保证全局只有一个 HeroRepository 和 HeroService呢,这样的话还能减少性能开销。
如上代码逻辑在
路径操作函数中,陆续收到多个请求时,会多次重复的实例化HeroRepositoryHeroService,既然是无状态对象,为什么不能保证全局只有一个HeroRepository和HeroService呢,这样的话还能减少性能开销。