Sobes.tech
Junior — Middle

Môžete vysvetliť úlohu kontrolóra v štruktúre čistej architektúry?

sobes.tech AI

Odpoveď od AI

V čistej architektúre hrá úlohu riadič ako sprostredkovateľ medzi vonkajším svetom (napríklad HTTP požiadavkami) a vnútornými vrstvami aplikácie.

Hlavné funkcie riadiča:

  • Prijíma prichádzajúce požiadavky.
  • Vyberá potrebné údaje z požiadavky.
  • Volá príslušné prípady použitia alebo interaktory.
  • Tvorí odpoveď pre klienta.

Riadič neobsahuje obchodnú logiku, iba smeruje údaje a príkazy do správnych častí systému.

Prí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, "Používateľ nenájdený", http.StatusNotFound)
        return
    }
    json.NewEncoder(w).Encode(user)
}

Tu riadič prijíma požiadavku, volá obchodnú logiku a vracia výsledok klientovi.