Si te gusto el tuto, puedes donar: PayPal: www.paypal.me/... Github: github.com/mit... DAO JDBC: • Tutorial Java SE - 52 ... Generics: • Tutorial Java 7 SE Ava...
Watafac pero que pedazo de vídeo, pensaba que DAO era más complejo y sinceramente hasta me daba pereza aunar en el tema que desconocía por completo, pero lo haces ver tan fácil y lo explicas tan sencillo y entendible que hasta me da emoción seguir aprendiendo más y más sobre el mundo del software. Gracias 💯❣🛐
de verdad son excelentes tus explicaciones. Lo que mucho de mis profesores en la universidad lo complicaban y le daban tanta vuelta, tu lo explicas integrándolo en un ejemplo orientado a negocios. Pronto estaré viendo tus tutoriales premium. Muchas gracias por tus aportes
si divido en 100 partes tus conocimientos, me conformo con la mitad de una de ellas. Ya con eso sería feliz. Muchas gracias por la claridad de tus ejemplos y explicaciones
Una consulta, qué diferencias en cuanto a la estructura de carpetas existe entre patrón de diseño DAO y MVC ?
ปีที่แล้ว +1
Basicamente MVC y DAO son dos patrones diferentes. MVC ( Model View Controller ) es un patron usado, por ejemplo, en aplicaciones Webs. Ayuda a tu proyecto a desacoplarse de las diferentes partes. Por un lado tienes las Views que viene representando la UI web de tu proyecto, donde mostraras los resultados por pantalla de las diferentes acciones que hagas. Por otro lado tienes el Controller que define todo el comportamiento que puede tener tu vista, por ejemplo ir a buscar datos, guardar datos, etc. El modelo es el objeto que se usa para guardar tus datos u operar con ellos ( por ejemplo el objeto Persona ). Habiendo definido lo anterior ( no sé si sea la definicion tecnica correcta, que alguien me corrija sino ) tu patron DAO puede ubicarse sobre el Modelo del MVC. De esta forma puede abstraerse mas el modelo de datos , permitiendo mejor flexibilidad y menor dependencias en tu codigo . Espero que esta burda explicacion te sirva de algo, Saludos.
Excelente explicacion, super claro todos los conceptos pero me quedo una pequeña duda. En este caso el patron DAO no aplica como patron de diseño, es mas bien un patron de arquitectura. Esto es correcto?
En el dao Data Access Object. Pondrias logica? O son meras operaciones de select e insert (hablando de SQL) Yo creo q deberia haber otra capa arriba, controller o algo asi, que sea quien hace las validaciones y logica de negocio. Lo digo por que el metodo Curar del DaoMedico no veo que tenga q ver con los datos si no mas bien con algo del negocio. Yo soy de la idea q los daos tienen getById GetAll(filtro) create update delete. Si nos ponemos tecnicos (sql) quizas hasta un BulkCreate, BulkDelete para tener menos conexiones a la DB
en el DTO tienes que poner todo lo que implica una transferencia de datos, luego, respondiento a tu pregunta, la lógica de negocio iría en otra capa comunmente conocida como Servicio.
@@jorgegustavobanegas8491 bueno, es que depende de que tipo de estrategia estemos implementando en la arquitectura del proyecto, si me hablas de un patron MVC pues si, lo normal es tener la logica en el modelo. Pero en el caso que te comento, los servicio que tienen la logica de negocio hacen uso de modelos (entiende que cuando digo modelo me refiero ya a una capta que está muy ligada a infraestructura, es decir, a cosas especificas del framework de turno, por ejemplo las entidades de JPA/hibernate, estarian en el modelo. Pero estos modelos al ser entidades no hacen nada, son casi anemicos. Es entonces cuando entran los servicioque hacen uso de estas entidades del modelo de datos de nuestra aplicación. Seguro que te he liado jaja pero mas o menos servicio/modelos se complementan en la mayoria de usos!
@@ftwtf gracias por responder, entiendo todo lo que dices. Solo que pregunte porque estos días estuve viendo el tema justamente de los modelos anémicos y de qué son un anti patrón y que debería evitarse a todo costa. Y pensando en cómo he venido desarrollando pues me di cuenta que mis modelos son simple recipientes con atributos, pero así han funcionado todos mis proyectos, pero con lo que leí acerca de dicho antipatron me surgió esta duda ya que apenas tengo experiencia en es desarrollo. Y la verdad en foros tanto en inglés como en español es una lucha acalorada entre los que "odian" este tipo de modelos anémicos y los que lo "aman". Pero bueno parece que como en la mayoría de cosas en el desarrollo, la respuesta será siempre "depende".
Ayuda, por favor, escribí el código tal y como lo explicó en el video, pero en la clase APP no me muestran los métodos de la clase Persona o Medico cuando hago la llamada al método mostrarNombre
es porque cuando instancia dao el tipo estatico es CRUD, entoces dao solo podrá utilizar los metodos de CRUD. Si quieres que dao pueda acceder a los metodos de medico por ejemplo sería: MedicoDAO dao = new MedicoDAOImp();
Hola, no se si aún resuelves dudas pero yo tengo una que no se si es con el patrón o con la programación genérica. En este caso ICRUD nunca mostrará los métodos que están definidos en las otras interfaces. Un saludo.
Sere muy novato en esto, pero no entiendo porque si CRUD es una interface, en las clases colocas extends y no implements? me dejaste mareado con eso jaja
esta bueno el video, pero vas demaciado rapido para un patron tan importante. Me hubiera gustado que lo hubieras hecho con calma porque este patron al igual que el MVC son muy solicitados
Watafac pero que pedazo de vídeo, pensaba que DAO era más complejo y sinceramente hasta me daba pereza aunar en el tema que desconocía por completo, pero lo haces ver tan fácil y lo explicas tan sencillo y entendible que hasta me da emoción seguir aprendiendo más y más sobre el mundo del software.
Gracias 💯❣🛐
de verdad son excelentes tus explicaciones. Lo que mucho de mis profesores en la universidad lo complicaban y le daban tanta vuelta, tu lo explicas integrándolo en un ejemplo orientado a negocios. Pronto estaré viendo tus tutoriales premium. Muchas gracias por tus aportes
Una interfaz debe llevar la "I" delante del nombre de la interfaz
si divido en 100 partes tus conocimientos, me conformo con la mitad de una de ellas. Ya con eso sería feliz. Muchas gracias por la claridad de tus ejemplos y explicaciones
Con el tiempo te recomiendo www.mitocode.com
JAJAJAJAJAJA
Muchísimas gracias por la explicación. 10000/10.
Gracias por este Tutorial, muy bueno!
Hola que tal maestro, muchisimas gracias por la información compartida, he comprendido como funciona el patrón de diseño DAO, saludos y bendiciones.
no acostumbro a comentar videos pero, me acabas de aclarar muchísimas dudas gracias
Excelente canal, explicaciones detalladas. Todo es magistral. Un nuevo seguidor mas 2021.
Muy buen video, me llamó mucho la atención lo de los genéricos
Excelente contenido y explicación... gracias por compartir!!
Muy buena explicacion, entendi a 100%
Una consulta, qué diferencias en cuanto a la estructura de carpetas existe entre patrón de diseño DAO y MVC ?
Basicamente MVC y DAO son dos patrones diferentes.
MVC ( Model View Controller ) es un patron usado, por ejemplo, en aplicaciones Webs. Ayuda a tu proyecto a desacoplarse de las diferentes partes. Por un lado tienes las Views que viene representando la UI web de tu proyecto, donde mostraras los resultados por pantalla de las diferentes acciones que hagas. Por otro lado tienes el Controller que define todo el comportamiento que puede tener tu vista, por ejemplo ir a buscar datos, guardar datos, etc. El modelo es el objeto que se usa para guardar tus datos u operar con ellos ( por ejemplo el objeto Persona ).
Habiendo definido lo anterior ( no sé si sea la definicion tecnica correcta, que alguien me corrija sino ) tu patron DAO puede ubicarse sobre el Modelo del MVC. De esta forma puede abstraerse mas el modelo de datos , permitiendo mejor flexibilidad y menor dependencias en tu codigo .
Espero que esta burda explicacion te sirva de algo, Saludos.
Amigo excelente canal 🧠
Excelente explicacion, super claro todos los conceptos pero me quedo una pequeña duda.
En este caso el patron DAO no aplica como patron de diseño, es mas bien un patron de arquitectura. Esto es correcto?
Cual seria la diferencia entre patrón DAO y patrón Repository?
Y en qué contexto se usa uno u otro?
es lo mismo, solo que repositor ya trae ej JPa y en dao tu tienes que hacer la conexión a db
cual seria la diferencia entre repository y dao.
Que diferencia hay entre patron dao y repository, veo que son los mismos
Iba a hacer la misma pregunta ... Veo que tienen mucha similitud
ya sabes?
Excelente aporte.. Mil gracias..
En el dao Data Access Object. Pondrias logica? O son meras operaciones de select e insert (hablando de SQL)
Yo creo q deberia haber otra capa arriba, controller o algo asi, que sea quien hace las validaciones y logica de negocio.
Lo digo por que el metodo Curar del DaoMedico no veo que tenga q ver con los datos si no mas bien con algo del negocio.
Yo soy de la idea q los daos tienen getById
GetAll(filtro) create update delete.
Si nos ponemos tecnicos (sql) quizas hasta un BulkCreate, BulkDelete para tener menos conexiones a la DB
en el DTO tienes que poner todo lo que implica una transferencia de datos, luego, respondiento a tu pregunta, la lógica de negocio iría en otra capa comunmente conocida como Servicio.
@@ftwtf pero acaso la lógica del negocio no va en el modelo?
@@jorgegustavobanegas8491 bueno, es que depende de que tipo de estrategia estemos implementando en la arquitectura del proyecto, si me hablas de un patron MVC pues si, lo normal es tener la logica en el modelo. Pero en el caso que te comento, los servicio que tienen la logica de negocio hacen uso de modelos (entiende que cuando digo modelo me refiero ya a una capta que está muy ligada a infraestructura, es decir, a cosas especificas del framework de turno, por ejemplo las entidades de JPA/hibernate, estarian en el modelo. Pero estos modelos al ser entidades no hacen nada, son casi anemicos. Es entonces cuando entran los servicioque hacen uso de estas entidades del modelo de datos de nuestra aplicación. Seguro que te he liado jaja pero mas o menos servicio/modelos se complementan en la mayoria de usos!
@@ftwtf gracias por responder, entiendo todo lo que dices. Solo que pregunte porque estos días estuve viendo el tema justamente de los modelos anémicos y de qué son un anti patrón y que debería evitarse a todo costa. Y pensando en cómo he venido desarrollando pues me di cuenta que mis modelos son simple recipientes con atributos, pero así han funcionado todos mis proyectos, pero con lo que leí acerca de dicho antipatron me surgió esta duda ya que apenas tengo experiencia en es desarrollo. Y la verdad en foros tanto en inglés como en español es una lucha acalorada entre los que "odian" este tipo de modelos anémicos y los que lo "aman". Pero bueno parece que como en la mayoría de cosas en el desarrollo, la respuesta será siempre "depende".
Ayuda, por favor, escribí el código tal y como lo explicó en el video, pero en la clase APP no me muestran los métodos de la clase Persona o Medico cuando hago la llamada al método mostrarNombre
es porque cuando instancia dao el tipo estatico es CRUD, entoces dao solo podrá utilizar los metodos de CRUD. Si quieres que dao pueda acceder a los metodos de medico por ejemplo sería: MedicoDAO dao = new MedicoDAOImp();
@@isabelroman5107 Gracias por tu respuesta y por tu colaboración
Mito diferencia entre DAO y DTO cual es no se por que tiendo a confundir estos conceptos?.
El DAO te permite establecer relaciones con la base de datos donde usará a objetos DTO
que buen vidio, gracias
Hola, no se si aún resuelves dudas pero yo tengo una que no se si es con el patrón o con la programación genérica.
En este caso ICRUD nunca mostrará los métodos que están definidos en las otras interfaces.
Un saludo.
Hola, pues no mostrará y para eso se debe usar otras Interfaces y la de icrud solo para temas de crud
Ahora entiendo el uso de Dao y DaoImp, son patrones de diseño
Te quiero
Guardaré esta joya
Excelente video :D
Sere muy novato en esto, pero no entiendo porque si CRUD es una interface, en las clases colocas extends y no implements? me dejaste mareado con eso jaja
sera que es porque una interfaface puede heredar (extends) de otra interface? mmm que buena data, no lo sabia
@@WillGuinand claro es por eso amigo. Una interface hereda de otra interface, por eso usa el extends.
tan chevere
En que momento escribe el método get.Nombre o en que clase... ?
Crack!!!!!!!!!!!!!
esta bueno el video, pero vas demaciado rapido para un patron tan importante. Me hubiera gustado que lo hubieras hecho con calma porque este patron al igual que el MVC son muy solicitados