#Flask

1 messages · Page 1 of 1 (latest)

arctic lynx
#

Me imagino que lo que te preocupa de acoplamiento va algo asi:

@router.get("/users")
def get_users():
    db = SessionLocal()          # acoplado
    repo = UserRepository(db)    # acoplado
    service = UserService(repo)  # acoplado
    return service.get_all()

Y lo que quieres saber es como lo desacoplas, verdad?

glass lava
#

Exactamente

arctic lynx
#

Entonces si lo mas elegante para Flask es hacer un Container (inyeccion de dependencias)

glass lava
#

Ahora acá viene otra pregunta

#

El container no importa si este si va acoplado a estos modulos, correcto?

#

tambien mi pregunta es si esto seria una buena practica, las importaciones

arctic lynx
#

No importa, ese es un acoplamiento aceptado

#

Los imports los puedes hacer mas limpios si los "pre-registras" en el __init__ de tus modulos

glass lava
#

y unicamente con una linea importar todos los modulos

#

o dices de simplemente importar

arctic lynx
#
# app/repositories/__init__.py
from .sale_repo import SaleRepository
from .store_repo import StoreRepository

# app/main.py
from app.repositories import (
    SaleRepository, StoreRepository)
glass lava
#

el paquete?

glass lava
#

Bueno esa era mi duda porque no terminaba de aceptar si estaba haciendo lo correcto. Muchas gracias!

arctic lynx
#

para el otro tema que tienes de inyecciones busca el paquete de Flask-Injection

glass lava
arctic lynx
#

si