Sobes.tech
Junior — Middle

Můžete vysvětlit roli kontrolora ve struktuře čisté architektury?

sobes.tech AI

Odpověď od AI

V čisté architektuře hraje řadič roli prostředníka mezi vnějším světem (například HTTP požadavky) a vnitřními vrstvami aplikace.

Hlavní funkce řadiče:

  • Přijímá příchozí požadavky.
  • Extrahuje potřebná data z požadavku.
  • Volá příslušné případy použití nebo interaktory.
  • Formuje odpověď pro klienta.

Řadič neobsahuje obchodní logiku, pouze směruje data a příkazy do správných částí systému.

Příklad v Go (zjednodušený):

func UserController(w http.ResponseWriter, r *http.Request) {
    userID := r.URL.Query().Get("id")
    user, err := userUseCase.GetUserByID(userID)
    if err != nil {
        http.Error(w, "Uživatel nenalezen", http.StatusNotFound)
        return
    }
    json.NewEncoder(w).Encode(user)
}

Zde řadič přijímá požadavek, volá obchodní logiku a vrací výsledek klientovi.