Sobes.tech
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)
}

Εδώ, ο ελεγκτής λαμβάνει το αίτημα, καλεί τη λογική επιχειρήσεων και επιστρέφει το αποτέλεσμα στον πελάτη.