Sunt în mijlocul unei "discuții" cu un coleg despre cea mai bună modalitate de a implementa stratul de date într-o nouă aplicație.
Un punct de vedere este că stratul de date trebuie să fie conștient de obiectele afacerii (propriile clase care reprezintă o entitate) și să poată lucra cu acest obiect nativ.
Punctul opus este acela că stratul de date trebuie să fie obiect-agnostic și să se ocupe pur și simplu de tipurile de date simple (șiruri, răniri, date etc.)
Văd că ambele abordări pot fi valabile, dar punctul meu de vedere este acela că eu prefer cel dintâi. În acest fel, dacă mediul de stocare a datelor se modifică, stratul de afaceri nu trebuie (neapărat) să se schimbe pentru a se adapta la noul strat de date. Ar fi așadar un lucru banal să schimbi dintr-un magazin de date SQL într-un magazin serializat de sisteme de fișiere xml.
Punctul de vedere al colegului meu este că stratul de date nu ar trebui să știe despre definițiile obiectului și că, atâta timp cât datele sunt transmise corespunzător, este suficient.
Acum, știu că aceasta este una dintre acele întrebări care are potențialul de a începe un război religios, dar aș aprecia orice feedback din partea comunității cu privire la modul în care abordați astfel de lucruri.
TIA