Controller
Limitare il Controller al protocollo: parsing e validazione superficiale della request, invocazione del caso d'uso, mapping della response e gestione degli status HTTP.
Il problema
La logica HTTP e la logica di business tendono a mescolarsi, rendendo il servizio difficile da testare e riusare.
Il pattern
Limitare il Controller al protocollo: parsing e validazione superficiale della request, invocazione del caso d'uso, mapping della response e gestione degli status HTTP.
Come funziona
Il Controller traduce HTTP in un comando o query applicativa. Autorizzazione e validation possono avere componenti dedicati, ma le regole di dominio non devono essere codificate negli endpoint.
Esempio sanitario
Benefici
- Endpoint sottili
- Testabilità
- Separazione protocollo/dominio
Trade-off
- Può diventare boilerplate
- Serve disciplina per non inserire business logic
Quando usarlo
Per ogni API HTTP non banale.
Quando evitarlo
Quando si usa il Controller come Service Layer.
Pattern correlati
RIFERIMENTI
Fonti e riferimenti
Capsule Informatiche · Materiale progettuale
Materiale di studio
