Hvad er dataadgangsobjekter?
I computerprogrammering er dataadgangsobjekter (DAO) en designteknik, der skaber et modullag til at styre al datadgang til et softwareprogram. Dette lag er ansvarligt for læsning og skrivning af data til en database eller eksternt filsystem. I software-design er der mange måder at læse og skrive data til en database. Dette kan forårsage slurvet softwarekode, fordi udviklere muligvis bruger flere metoder til at udføre den samme datatilgangsopgave. En af de primære fordele ved at bruge datatilgangsobjekter er evnen til at standardisere, hvordan man får adgang til data til et softwareprogram. DAO-designet sikrer, at al databaseadgang udføres på en lignende måde, hvilket giver bedre software.
Dataadgangsobjekter blev først introduceret akademisk i objektprogrammeringsmodellen. Denne arkitekturstilgang kræver, at software indbygges i specifikke moduler med et specifikt formål. DAO er et softwaremodul, der har ansvaret for at hente og ændre alle data fra enhver datalagringsenhed.
Teknikken til at bruge dataadgangsobjekter er ikke unik for et specifikt programmeringssprog. Microsoft MS Access introducerede først denne tilgang, men den er i øjeblikket tilgængelig på de fleste moderne programmeringssprog. Det betragtes som en bedste praksis for at centralisere datatilgang, fordi det gør softwareprogrammet fleksibelt. Denne teknik kan spare værdifulde udviklingstimer, fordi den skaber et genanvendeligt modul til databasen.
Et eksempel på datatilgangsobjekter i praksis er visning af side til side af resultater, der ofte findes i en webbrowser. Når den første resultatside vises efter en søgning, tillader skærmen typisk brugeren at vælge den næste dataside. Dette bruger dataadgangsobjektmønsteret, som giver brugeren mulighed for at bevæge sig fremad og tilbage gennem et datasæt.
Mange softwarerammer har implementeret datatilgangsobjekter inden for softwareværktøjer. Nogle eksempler inkluderer dvale-, fjeder- og java-dataobjekter (JDO). Disse rammer er nyttige for softwareudviklere, fordi de har indkapslet DAO-mønsteret inden for rammerne, hvilket gør det skjult for udvikleren.
Brug af dataadgangsobjekter kan også spare tid med test og implementering af softwarekode. Det enkelte kodningsmodul er ansvarligt for datatilgangen for hele applikationen. Dette gør test lettere, fordi et modul kan validere flere datatilgangspunkter for softwaren.