Sobes.tech
Junior — Middle

FastAPI-деги көзкаранды жөнелтүүнүн ролу эмне жана эмне үчүн керек?

sobes.tech AI

AIден жооп

FastAPI-деги көзкарандылоо (Dependency Injection, DI) колдонулат колдонмо компоненттери арасындагы көзкарандылыктарды башкаруу үчүн, мисалы, маалымат базасына туташуу, учурдагы колдонуучуну алуу, кэшти конфигурациялоо жана башка. Бул:

  • компоненттердин катуу байланышынан кутулуу.
  • коддун тестирлөө мүмкүнчүлүгүн жогорулатуу, анткени көзкарандылыктар оңой алмаштырылышы мүмкүн.
  • объекттердин түзүлүшү жана жашоо циклин борборлоштурулган башкаруу.

FastAPI Depends аркылуу көзкарандылоону ишке ашырат. Мисалы:

from fastapi import FastAPI, Depends

def get_db():
    db = create_db_session()
    try:
        yield db
    finally:
        db.close()

app = FastAPI()

@app.get("/items/")
def read_items(db=Depends(get_db)):
    items = db.query(Item).all()
    return items

Бул жерде, get_db көзкарандылык болуп саналат жана автоматтык түрдө обработчикке киргизилет. Бул ресурстарды башкарууну жеңилдетет жана колдонмонун модулдуулугун жогорулатат.