Capsule Informatiche di Lello De Luca
← Tutte le Capsule

Service Layer / Application Service

Architettura applicativaApprofondimento

Usare un Application Service per implementare il caso d'uso e delimitare la transazione locale.

Il problema

Un caso d'uso richiede coordinare dominio, repository e integrazioni senza collocare l'orchestrazione nel Controller o nella persistence.

Il pattern

Usare un Application Service per implementare il caso d'uso e delimitare la transazione locale.

Come funziona

Il Service Layer carica aggregate, invoca comportamenti di dominio, persiste, chiama porte esterne quando necessario e produce outcome. Non deve sostituire il Domain Model con enormi metodi procedurali.

Esempio sanitario

Benefici

  • Casi d'uso espliciti
  • Boundary transazionale
  • Controller e dominio più puliti

Trade-off

  • Rischio di God Service
  • Possibile duplicazione se i casi d'uso non sono ben definiti

Quando usarlo

Per operazioni applicative con coordinamento non banale.

Quando evitarlo

Per concentrare tutte le regole di business in un solo service.

Pattern correlati

RIFERIMENTI

Fonti e riferimenti

Riepilogo architetture piattaforma enterprise sanitaria

Capsule Informatiche · Materiale progettuale

JavaScript Domain-Driven Design

Materiale di studio