Está en la página 1de 16

PATRON DAO

Data Access Object


(OBJETO DE ACCESO A DATOS)
JO5F LJl5 MF5A
ANDkF5 klCAkDO IOkkF5
CLAJDlA FAIklClA OVlFDO
JFNNlFFk ANDkFA IFNOklO
PATRON DAO
(OBJETO DE ACCESO A DATOS)
Dofo Access Objecf (DAO, Objefo de
Acceso o Dofos) es un componenfe de
soffwore que sum|n|sfro uno |nferfoz comn
enfre |o op||coc|n y uno o ms
d|spos|f|vos de o|mocenom|enfo de dofos,
fo|es como uno 8ose de dofos o un
orch|vo.
PATRON DAO
(OBJETO DE ACCESO A DATOS)
F| pofron DAO es uno so|uc|on o| prob|emo de|
d|ferenc|o| de |mpedonc|o enfre un progromo de
op||coc|on or|enfodo o objefos y uno bose de
dofos re|oc|ono|, emp|eondo un|comenfe |o
|nferfoz de progromoc|on (AFl) nof|vo de|
monejodor de bose de dofos, o o|gun ofro
susf|fufo como e| OD8C, D8l, enfre ofros.
PATRON DAO
(OBJETO DE ACCESO A DATOS)
Ut|||zcnc: e| pct|cn Dctc Acce:: Ccect
(DAC} pc|c.
cc:t|ce| y enccp:u|c| |c: ccce:c:.
ge:t|cnc| |c ccnex|cne: c |c |uente ce
cctc:
cctene| |c: cctc: c|nccenccc:.
PATRON DAO
(OBJETO DE ACCESO A DATOS)
UN EJEMPLO:
Supcngcmc: ue Ienemc: |c :iguienIe
IcL|c:
PATRON DAO
(OBJETO DE ACCESO A DATOS)
CREATE TABLE ciudades (
nombre varchar(80),
departamento varchar(80)
);
PATRON DAO
(OBJETO DE ACCESO A DATOS)
Fntcnce: cnc|c tenenc: que c|ec| 2 c|c:e:
pc| cccc |e|cc|n ccn |c que nue:t|c
cp||ccc|n tenc|c ccce:c. e| ccce:c c
cctc: y e| t|cn:pc|te ce cctc:.
PATRON DAO
(OBJETO DE ACCESO A DATOS)
Clase de transporte de datos:
public class Ciudad
{
//atributos = campos de la relacion
String nombre;
String departamento;
//metodos
String getNombre()
{ ... }
String getDepartamento()
{ ... }
}
PATRON DAO
Clase de acceso a Datos
public class CiudadesDAO
{
Ciudad ciudad;
...
// establece conexin a la base de datos
//implementa opera. basicas como insert, update, delete
void insert (){...}
void delete(){...}
Ciudad find()
{ ... SELECT * FROMciudades WHERE nombre ... }
}
PATRON DAO
(OBJETO DE ACCESO A DATOS)
S|n encc|gc. |c: cp||ccc|cne: ce| nuncc
|ec| nc e:tcn ccnpue:tc: pc| e| ccce:c c
unc :|np|e tcc|c. pc|c en||entc| e:tc
:|tucc|n :e ut|||zc e| pct|n Fcctc|y pc|c
|np|enentc| unc |cc||cc ce ccetc: DAC.
PATRON DAO
(OBJETO DE ACCESO A DATOS)
FkO8LEMAS A kESOLVEk
Si:Iemc: pccc mccu|cre:.
Si:Iemc: cif|ci|menIe mcnIeniL|e:.
D|st|ntos responsob|||dodes no deben ser de|egodos en |o
m|smo c|ose. E:Ie e: un principic Lc:icc ce| ce:crrc||c ce
:cfIwcre, prcpue:Ic criginc|menIe pcr Dijk:Irc en |c: cnc: 70
{cunue nc exccIcmenIe en e:Ic fcrmc), ue |c ||cmc
:epc|ct|cn c| ccnce|n: c :epcrccicn ce incumLencic:.
PATRON DAO
(OBJETO DE ACCESO A DATOS)
PATRON DAO
(OBJETO DE ACCESO A DATOS)
En generc| {cunue e:Ic e: unc ceci:icn ce ci:enc), pcr cccc cLjeIc ce negccic en
nue:Irc :i:Iemc, crecremc: un D/C ci:IinIc. En nue:Irc cc:c ccemc: ce| Fre:Icmc:D/C
pccr|cmc: Iener IcmLin un U:ucricD/C y un LiLrcD/C.
/unue cu| e| c|mccn ce ccIc: :e repre:enIc ccmc unc Lc:e ce ccIc: ccmpcIiL|e
JD8C nc Iiene pcr u :er :iempre c:| {U:c ce| pcIrcn Fcctc|y pcrc pccer in:Icncicr |c:
D/C:) recuciencc c| mcximc |c cepencencic ce| D/C ccncreIc c crecr {pcr ejemp|c
ce MySCL, Crcc|e, XML, ficherc .prcperIie:, ...)
Lc infcrmccicn ue cevue|ve c :e |e pc:c c| D/C :e enccp:u|c en cLjeIc: ce Iipc
t|cn:|e| ccect {en nue:Irc cc:c |c c|c:e Fr:Icmc), ue, :imp|ificcncc, nc :cn mc: ue
ccnIeneccre: ce infcrmccicn.
PATRON DAO
(OBJETO DE ACCESO A DATOS)
kELACIN CON OIkOS FAIkONES
E| D/C :e re|ccicnc ccmnmenIe ccn |c: :iguienIe:
pcIrcne::
Ircn:fer cLjecI: |c infcrmccicn ue :e env|c/reciLe
ce| D/C :e empcueIc
en e:Ic: cLjeIc:.
FccIcry: ccn e| cLjeIc ce ccn:eguir |c
incepencencic ce| c|mccn ce ccIc:,
ccmnmenIe :e u:c e:Ie pcIrcn pcrc in:Icncicr |c:
D/C:.
PATRON DAO
(OBJETO DE ACCESO A DATOS)
VENIAJAS
Cuc|qu|e| ccetc nc |equ|e|e ccncc|n|entc
c||ectc ce| ce:t|nc ||nc| ce |c |n|c|ncc|n
que :e ncn|pu|c
Se ccc en n|ve| ce cccp|cn|entc ent|e
c|c:e:. |ecuc|encc |c ccnp|e|ccc ce |ec||zc|
ccnc|c:
Se c|:|c |c: ccnex|cne: c |c |uente ce cctc:
en unc ccpc |cc||nente |cent|||ccc|e y
ncnten|c|e.
Bibliografa
http://www.programacion.com/java/tutorial/patrones2/8/
http://www.glib.org.mx/article.php?story=2006070218511041
8
http://en.wikipedia.org/wiki/Software_patt
ern
http://java.sun.com/blueprints/corej2eepat
terns/Patterns/DataAccessObject.html

También podría gustarte