Dove è necessario includere convalide della logica non commerciale in Livello di servizio

0

Attualmente funziona in un'applicazione e ha la seguente gerarchia

Controllori API2 WEB (inserisce i punti finali)

Livello di business logic (dedicato alla gestione della business logic)

Livello di accesso ai dati (archivi)

Se vogliamo imporre una convalida che non è correlata a una logica di business come per un esempio di convalida del conteggio di caratteri per un campo specifico in un'entità, quale sarà il luogo ideale per implementarlo?

Alcuni dicono che dovrebbe essere su Controller stesso, ma non posso essere d'accordo.

    
posta Kalanamith 18.07.2016 - 07:46
fonte

1 risposta

4

Non ci sono regole ferree. Ma il solito posto da implementare è nel livello della business logic. Inoltre, ritengo che le convalide delle dimensioni del campo siano logiche di business.

Se si utilizza un modello di dominio ricco, è necessario implementare la convalida nelle entità. Ma se non hai un ricco modello di dominio e l'unica interfaccia che offri al mondo esterno è tramite la tua web API, non penso ci sia qualcosa di sbagliato nel fare convalide lì.

Se c'è un'app di front-end vorrei duplicare anche la logica di validazione per dare UX migliore e salvare la chiamata di rete.

    
risposta data 18.07.2016 - 08:58
fonte

Leggi altre domande sui tag