Decizii de arhitectura la implementarea unui API

La api-ul la care lucrez folosim ceva ce se cheamă cqrs + mediator pattern. Este o biblioteca care implementează acel lucru. Controller-ele doar primesc parametrii care sunt trimiși pe endpint si este apelata o metoda care face handling-ul cu. Folosim un orm pt interacțiunea cu baza de date.

Pt a întoarce răspunsul în json, folosim clase view model unde punem doar ce este de interes.

Nota, acel api este implementat in .net + c#, dar ideea cred ca este buna. Mi se pare ca se obține o buna decuplare si testarea este destul de usoara.

Pe lângă astea, mai sunt si validatoare, clase care reprezinta tabelele din baza de date etc.

Am văzut api-uri cu clase mamut si este foarte greu de lucrat. Te pierzi prin metode.

Am postat acum ceva timp acest articol despre cqrs. Sper sa te ajute.

Poate sunt si alte arhitecturi mai bune, dar cel putin asa este facut acesta la care lucrez