Logica de business este implementată într-un modul ERP.
Logica de business va fi păstrată în dosare cu denumiri și structuri similare entităților sau modulelor pe care le deservește.
Logica de business poate fi apelată direct când serviciul are acces direct la baza de date sau prin API când serviciul este separat de aceasta. Comutarea modului ar trebui gestionată automat, cu posibilitatea suprascrierii comportamentului.
De regulă, logica de business ar trebui utilizată prin microserviciul corespunzător. Unele operații pot fi utilizate direct, de exemplu validarea unui câmp sau extragerea unor valori prelucrate.
Logica de business ar trebui să poată fi actualizată în timpul funcționării: înlocuirea codului sau compilarea aplicației nu ar trebui să întrerupă procesele pentru mult timp.
Blocurile de logică de business, precum metodele și buclele, ar trebui să fie cât mai scurte și modulare, pentru identificarea ușoară a schimbărilor.
Fiecare bloc logic ar trebui comentat cu o scurtă descriere a rolului său.
1.1. Repository pentru logica de business
Procesarea entităților respectă anumite reguli. Această logică va fi implementată într-un repository.
Accesul la date ar trebui să treacă printr-un repository, pentru utilizarea jurnalului și a funcționalităților de audit.
1.1.1. Repository-ul de bază
Repository-ul de bază va conține validările și logica comune tuturor entităților: verificarea id-ului, dreptul utilizatorului de a accesa datele, scrierea în jurnale și alte operații.
Operațiile ORM ar trebui să fie private în repository sau suprascrise pentru a implementa funcționalitatea repository-ului de bază.
1.2. Extinderea logicii de business
Logica de business ar trebui să implementeze interfețe.
Logica de business, în special cea personalizată, ar trebui activată din tabelele de configurare ale bazei de date.