Junior — Middle
Μπορείτε να εξηγήσετε τον ρόλο του ελεγκτή στη δομή της καθαρής αρχιτεκτονικής;
sobes.tech AI
Απάντηση από AI
Στον καθαρό αρχιτεκτονικό σχεδιασμό, ο ελεγκτής λειτουργεί ως μεσάζων μεταξύ του εξωτερικού κόσμου (π.χ. αιτήματα HTTP) και των εσωτερικών στρωμάτων της εφαρμογής.
Βασικές λειτουργίες του ελεγκτή:
- Δέχεται εισερχόμενα αιτήματα.
- Εξάγει τα απαραίτητα δεδομένα από το αίτημα.
- Καλεί τις κατάλληλες περιπτώσεις χρήσης ή διαδραστές.
- Διαμορφώνει την απάντηση για τον πελάτη.
Ο ελεγκτής δεν περιέχει επιχειρηματική λογική, απλώς κατευθύνει δεδομένα και εντολές στα κατάλληλα μέρη του συστήματος.
Παράδειγμα σε Go (απλοποιημένο):
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, "Δεν βρέθηκε χρήστης", http.StatusNotFound)
return
}
json.NewEncoder(w).Encode(user)
}
Εδώ, ο ελεγκτής λαμβάνει το αίτημα, καλεί τη λογική επιχειρήσεων και επιστρέφει το αποτέλεσμα στον πελάτη.