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.