Z lekkim uśmiechem przeczytałem klepsydrę dla DAO. Uśmiech zmienił się w zdziwienie po przeczytaniu wypowiedzi Adama Bienia. Nie zgadzanie się z osobą o przytłaczająco większym doświadczeniu .... hmmm ... czyżbym alkohol zabił aż tak dużo mych neuronów? Moje przekonania były zgodne z komentarzami Mario Gleichmanna do wspomnianego posta. Dyskusja wciąż trwa: [1], [2], [3], [4], [5]. Wydaje mi się, że warto zrobić pewne rozróżnienie: wzorzec DAO tak jak był używany w EJB 2.x oraz wyodrębnionej warstwy dostępu do danych. Pierwszy byt nie ma już uzasadnienia zgadzam się ale drugi. Nawet gdyby osobna warstwa DAO miała być tak cienka, iż składała by się jedynie z pojedynczej klasy (+ interfejs) typu generic DAO to jednak jest. A po co? Ciekawie napisał o tym wspomniany Mario Gleichmann. I jeszcze a propos generic DAO: ciekawą technikę opisał Arjan Blokzijl na Xebia. Warto chyba też spojrzeć na projekt generic-dao.
sobota, 18 kwietnia 2009
Subskrybuj:
Komentarze do posta (Atom)

2 komentarze:
Pan Adam ma rację, ale tylko w kontekście pewnej klasy problemów. Oczywiście w małych i prostych aplikacjach korzystających z jedynie z JPA wprowadzanie warstwy DAO może wydawać się zbędne i nadmiarowe.
Ale mimo wszystko istnieje kilka powodów, które jednak w prostych przypadkach przemawiałyby za wprowadzeniem DAO. Dużo by o tym pisać, wiec w wolnej chwili napiszę większego posta.
Natomiast w przypadku innych klas problemów (bardziej złożonych), nie wyobrażam sobie projektu bez DAO.
Z tego co wiem, to pan Adam jest członkiem grupy ekspertów EJB3.1 (o ile się nie mylę) - szkoda byłoby gdyby swoje przekonania oparte o jakiś wycinek problemu przenosił na ogół standardu:/
Ja też sobie nie wyobrażam: hello world w Hibernate z mojej magisterki miał warstwę DAO a co tam :D Możliwe że na tym polega mój problem ;)
Może za parę lat ludzie czytając ten wpis będą się uśmiechali i robili uwagi o Piotrze zwanym dao-betonem czy nawet dao-terrorystą, który nie potrafi zaakceptować oczywistości ;)
... np dlatego że w świecie oprogramowania, działającego bezawaryjnie i nieprzerwanie przez lata persystencja danych nie ma sensu :)
Prześlij komentarz