Capsule Informatiche di Lello De Luca
← Tutte le Capsule

Controller

Architettura applicativaApprofondimento

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

Riepilogo architetture piattaforma enterprise sanitaria

Capsule Informatiche · Materiale progettuale

JavaScript Domain-Driven Design

Materiale di studio