Po co się używa Data Access Object?

0

Mógłby mi ktoś w prostych słowach wytłumaczyć po co się używa Data Access Object?? Oddzielenie logiki biznesowej od dostępu do danych- ok. ale dlaczego to jest konieczne? Mile widziane wytłumaczenie na przykładach :) Dzięki z góry!

0

Wszystko sprowadza się do czytelności kodu oraz jego dalszego rozwijania.

Wygodniej jest mieć ujednolicony interfejs niż bawić się w mieszanie wszystkiego, tj. dzięki DAO możesz jednocześnie mieć możliwość zapisu (oraz odczytu) obiektów do (z) różnych formatów (baza danych, plik XML (...)), bez konieczności ingerowania w sam obiekt (np. Student) per se, dzięki czemu masz plus do zasady jednej odpowiedzialności, nie mówiąc już o tym, że wszystko masz ładnie wydzielone do klas.

0
Worek piasku i mur napisał(a):

Mógłby mi ktoś w prostych słowach wytłumaczyć po co się używa Data Access Object?? Oddzielenie logiki biznesowej od dostępu do danych- ok. ale dlaczego to jest konieczne? Mile widziane wytłumaczenie na przykładach :) Dzięki z góry!

To nie jest konieczne. Tak samo jak nie jest konieczne oddzielanie komory silnika od przedziału pasażerskiego w samochodach, ale inżynierowie tak robią.

Jeśli wymieszasz w jednej funkcji operacje na bazie danych, logikę biznesową i kod GUI, to gdy zajdzie potrzeba zmiany, trudno będzie znaleźć miejsce, w którym trzeba tę zmianę wprowadzić. Poza tym, jeśli wydzieli się DAO, to tej samej logiki będą mogły używać różne elementy logiki biznesowej. Jeśli tego się nie zrobi, to identyczny kod trzeba będzie kopiować w wielu miejscach. Ergo - dzielenie sprawia, że kod jest czytelniejszy, krótszy i niepowielony.

1

https://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html

tak ogólnie: Twój kontroler, facada, cokolwiek co prezentuje dane z przodu, nie musi wiedzieć skąd ten dane pochodzą (baza, jakiś plik).
Nie wiem z jakiego języka przychodzisz, ale mając np: w Springu DAO zwracające liczbę studentów, szukające studenta po jakimś kluczu, można dzięki wyciagnięciu tej logiki kontaktu z bazą(czymkolwiek co dane przechowuje) podmienić bez najmniejszego problemu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1