Entitățile de bază

Toate entitățile vor implementa ștergerea logică. Implementarea de bază a accesului la date va citi doar entitățile care nu sunt șterse.

Toate entitățile vor deriva dintr-o clasă de bază care implementează accesul generic la date prin metode precum:

  • acces direct la baza de date prin ORM
  • API
  • cache (unele entități pot fi marcate pentru cache, de exemplu enumerările sau datele de autentificare) și alte metode. Anumite date pot fi marcate ca neeligibile pentru cache, precum tabelele actualizate frecvent sau datele care trebuie să fie permanent actuale. Dacă opțiunea de cache lipsește, utilizatorul poate decide utilitatea acesteia.

Utilizatorul sau programatorul logicii de business nu trebuie să cunoască modul de obținere a datelor și sursa acestora, cu excepția depanării. Implementarea activă colectează datele fără intervenția utilizatorului.

Se va utiliza un ORM pentru a facilita proiectarea entităților.

Unele înregistrări sau câmpuri ar trebui afișate ori returnate doar în funcție de drepturile utilizatorului. Consultă secțiunea despre securitate.

Unele câmpuri ar trebui să poată fi marcate doar pentru citire, precum enumerările, și completate numai la creare sau inițializare.

La citire, API-ul ar trebui să permită specificarea câmpurilor necesare, inclusiv în profunzime prin separatorul punct. Aceste informații pot fi deduse și din rolul utilizatorului.

Interogarea de citire ar trebui să permită condiții, filtrare și sortare în profunzime, prin JOIN.

Datele returnate interfeței ar trebui pregătite pentru afișare: filtrate, validate și prelucrate.

Datele care produc schimbări în interfață, precum afișarea pictogramelor, ar trebui să returneze obiecte care descriu reprezentarea vizuală. Logica de business ar trebui evitată în nucleul interfeței. De exemplu, se poate returna HTML prelucrat pentru afișare în locul unor valori care modifică comportamentul interfeței sau al unor referințe către componente care procesează datele.