Data Access Object: Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja nieprzejrzana] |
Usunięta treść Dodana treść
thornuse - dodano co nieco - z glowki |
rozbudowa, formatowanie i korekta na podst. angielskiej Wikipedii, interwiki |
||
Linia 1:
'''Data Access Object''' - jest to komponent dostarczający jednolity [[interfejs]] do komunikacji między aplikacją, a źródłem danych (np. [[baza danych|bazą danych]] czy [[plik]]iem). Jest często łączony z [[wzorzec projektowy (informatyka)|wzorcami projektowymi]]. Dzięki DAO, aplikacja nie musi znać sposobu oraz ostatecznego miejsca składowania swoich danych, a ewentualne modyfikacje któregoś z czynników nie pociągają za sobą konieczności modyfikowania jej kodu źródłowego. Wzorzec ten jest często stosowany w modelu [[MVC]] (Model-View-Controller) do oddzielenia dostępu do danych od logiki biznesowej i warstwy prezentacji. Gotowe narzędzia do korzystania z DAO wchodzą w skład wielu popularnych języków programowania oraz platform (np. [[J2EE]], [[Ruby on Rails]]).
== Wydajność ==
Dodanie DAO do swojej aplikacji implikuje pojawieniem się kolejnej warstwy interfejsu oraz zwiększeniem ilości kodu, który musi zostać wykonany do realizacji tego samego działania. Z tego powodu w aplikacjach, dla których wydajność ma krytyczne znaczenie, rezygnuje się z niego, aby zapewnić jak najszybsze działanie.
== Zobacz także ==
* [[Data Transfer Object]]
* [[Wzorzec projektowy (informatyka)|Wzorzec projektowy]]
* [[Mapowanie obiektowo-relacyjne]]
== Linki zewnętrzne ==
* [http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html Core J2EE Patterns - Data Access Object]
* [http://www.codefutures.com/weblog/andygrove/archives/2005/02/data_access_obj.html DAO kontra mapowanie obiektowo-relacyjne]
== Narzędzia ==
* http://mdaog.sourceforge.net/ Generator kodu DAO dla baz [[PostgreSQL]]
* http://www.codefutures.com/ Generator kodu DAO dla wielu baz danych
* http://titaniclinux.net/daogen Generator kodu DAO dla [[Java|Javy]] i [[PHP]]
{{informatyka stub}}
Linia 8 ⟶ 23:
[[en:Data Access Object]]
[[es:Data Access Object]]
[[fr:Objet d'accès aux données]]
|