Junior — Middle
Kunt u de rol van de controller in de structuur van de schone architectuur uitleggen?
sobes.tech AI
Antwoord van AI
In de schone architectuur fungeert de controller als tussenpersoon tussen de buitenwereld (bijvoorbeeld HTTP-verzoeken) en de interne lagen van de applicatie.
Belangrijkste functies van de controller:
- Ontvangt inkomende verzoeken.
- Haalt de benodigde gegevens uit het verzoek.
- Roept de juiste use cases of interactors aan.
- Vormt het antwoord voor de klant.
De controller bevat geen bedrijfslogica, hij leidt alleen gegevens en commando's naar de juiste delen van het systeem.
Voorbeeld in Go (vereenvoudigd):
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, "Gebruiker niet gevonden", http.StatusNotFound)
return
}
json.NewEncoder(w).Encode(user)
}
Hier ontvangt de controller het verzoek, roept de bedrijfslogica aan en geeft het resultaat terug aan de klant.