Hola Jarlinton. Este curso es una lista de reproducción donde se ven los patrones de diseño más utilizados en la industria. Solo debes ver la lista de reproducción de los videos y ya. Es algo básico pero concreto que te ayuda a entender los patrones de diseño. Un saludo
Hola Yonatan, gracias por tu comentario. Al parecer tiene problemas si el video se ve desde la opción de html5 de youtube habilitada. Lo he probado desde diferentes navegadores sin esta opción habilitada y funciona. Aún así lo acabo de reportar a soporte de youtube.
Hola Diego, dependiendo de que es lo que vas a hacer con JMS utilizas el patrón que mas necesites. Te recomiendo un vistaso a es(punto)wikipedia(punto)org/wiki/Java_Message_Service donde veo que tiene un ConnectionFactory (fabrica de conexión), ya ahí hay un patrón (Fábrica).
en el metodo setBackUp() de la clase memento no es necesario recorrer la lista bd y meter los registros a una nueva lista ya que nos quedaria la lista duplicada , creo que solo habría que agregar bd al backup.
Hola Ignacio, recuerda que la idea del patrón es devolvernos en cualquier momento en el tiempo. Por esta razón la lista está "duplicada". Porque es necesario conocer en cualquier momento del tiempo su estado.
entiendo lo que me decis, pero así y todo no es necesario hacer esa duplicación en la clase memento ya que lo único que haces es solo agregarla al backup, sería lo mismo agregar al backup lo que se recibe por parametro... Gracias por responder y por los videos !!
Ignacio, en verdad no es necesario recorrer la lista, sin embargo no es cierto que quede duplicada, simplemente creo que es un trabajo innecesario, pues se crea una nueva lista (para agregarla a la lista de listas), con los mismo elementos de la lista entrada *bd*. Lo que entendería y ahí si me corrigen, es que se debe crear un nuevo objeto de tipo Lista, tanto en getBackup como en setBackup a fin de romper la referencia.
Alexys, mas específicamente me refiero a que conocimiento sobre programación, debo tener para poder abordar este curso, de forma adecuada. un saludo y muchas gracias por compartir tu conocimiento.
buenas que tal alexys una preguntota trate de hacer tu programa en netbeans y me salen estos errores Exception in thread "main" java.lang.NullPointerException at pruebamemento1.Memento.setBackup(Memento.java:24) at pruebamemento1.BasedeDatos.generarBackup(BasedeDatos.java:45) at pruebamemento1.PruebaMemento1.main(PruebaMemento1.java:23) Java Result: 1 GENERACIÓN CORRECTA (total time: 0 seconds) pero no me muestra nada de error la aplicacion me podrias ayudar??? gracias de antemano
Excelente vídeo, explicas muy bien, a modo de aclaración tu clase Caretaker es la que llamastes BasesDeDatos y la Originator viene siendo Registro. Como se si estoy cumpliendo en el patrón la encapsulación?. Saludos desde Venezuela
Hola Ericka, En realidad en este ejemplo utilicé la clase BasesDeDatos para actuar como Originador, y el caretaker es la clase Memento. La encapsulación la cumples debido a que no debes hacer ningún cambio en tu clase registro para poder realizar las instantaneas. Saludos.
gracias por contestar, Alexys a ver si entendi entonces el patron: 1) El originador posee los atributos que se quieren guardar 2) El originador es quien crea el memento 3) El caretaker conoce cuando el originador tiene que realizar la instantenea 4) El originador es el encargado de realizar la restauracion de la instananea, la clase Memento es quien devuelve esta instantenea 5) El memento tiene el tipo de dato que se quiere guardar. Gracias de antemano Alexys Saludos
Hola, yo haría algunas correcciones a tus afirmaciones: 2) El originador instancia el memento 3) El cartaker ejecuta el proceso de tomar y devolver las instantaneas
Excelente...un ejemplo clarisimo del patrón de diseño Memento. Gracias por el aporte
Hola Jarlinton. Este curso es una lista de reproducción donde se ven los patrones de diseño más utilizados en la industria. Solo debes ver la lista de reproducción de los videos y ya. Es algo básico pero concreto que te ayuda a entender los patrones de diseño. Un saludo
Gracias por ver el video. No olvides suscribirte.
Hola Yonatan, gracias por tu comentario. Al parecer tiene problemas si el video se ve desde la opción de html5 de youtube habilitada. Lo he probado desde diferentes navegadores sin esta opción habilitada y funciona. Aún así lo acabo de reportar a soporte de youtube.
Hola Diego, dependiendo de que es lo que vas a hacer con JMS utilizas el patrón que mas necesites. Te recomiendo un vistaso a es(punto)wikipedia(punto)org/wiki/Java_Message_Service donde veo que tiene un ConnectionFactory (fabrica de conexión), ya ahí hay un patrón (Fábrica).
en el metodo setBackUp() de la clase memento no es necesario recorrer la lista bd y meter los registros a una nueva lista ya que nos quedaria la lista duplicada , creo que solo habría que agregar bd al backup.
Hola Ignacio, recuerda que la idea del patrón es devolvernos en cualquier momento en el tiempo. Por esta razón la lista está "duplicada". Porque es necesario conocer en cualquier momento del tiempo su estado.
entiendo lo que me decis, pero así y todo no es necesario hacer esa duplicación en la clase memento ya que lo único que haces es solo agregarla al backup, sería lo mismo agregar al backup lo que se recibe por parametro... Gracias por responder y por los videos !!
Ahhh ya entendí tu comentario. Efectivamente se puede enviar la lista que se recibe como parámetro. Gracias por elbcomentario.
gracias a vos !
Ignacio, en verdad no es necesario recorrer la lista, sin embargo no es cierto que quede duplicada, simplemente creo que es un trabajo innecesario, pues se crea una nueva lista (para agregarla a la lista de listas), con los mismo elementos de la lista entrada *bd*.
Lo que entendería y ahí si me corrigen, es que se debe crear un nuevo objeto de tipo Lista, tanto en getBackup como en setBackup a fin de romper la referencia.
Es un componente que recibe alta cantidad de Mesaages por medio de JMS (ActiveMQ) y ya con ese mensaje se hace una validación.
Muy interesante gracias por el video
Oks, como utilizo el famoso Flash !!!, bueno ahora voy a probar con HTML5, gracias por tu respuesta inmediata.
Que tal, cual patrón es bueno para una aplicación que usa JMS. Gracias.
Alexys, no se puede ver el video? podrías subirlo otra vez, gracias
Ok Alexys entonces cuanto termine el curso de Java del maestro Jesus Conde me paso, a realizar el tuyo.
Alexys, mas específicamente me refiero a que conocimiento sobre programación, debo tener para poder abordar este curso, de forma adecuada. un saludo y muchas gracias por compartir tu conocimiento.
oye Alexys Lozada, que requisitos deberia cumplir, para poder realizar este curso de patrones de diseño??
buenas que tal alexys una preguntota trate de hacer tu programa en netbeans y me salen estos errores
Exception in thread "main" java.lang.NullPointerException
at pruebamemento1.Memento.setBackup(Memento.java:24)
at pruebamemento1.BasedeDatos.generarBackup(BasedeDatos.java:45)
at pruebamemento1.PruebaMemento1.main(PruebaMemento1.java:23)
Java Result: 1
GENERACIÓN CORRECTA (total time: 0 seconds)
pero no me muestra nada de error la aplicacion me podrias ayudar??? gracias de antemano
Te recomiendo que revises todo el código en mi página de github. github(punto)com(barra)alexyslozada(barra)cursopatronesdiseno
a ok muchas gracias logre resolverlo estaba poniendo el constructor con tipo de retorno void y ya logre hacer que funcionara
Excelente vídeo, explicas muy bien, a modo de aclaración tu clase Caretaker es la que llamastes BasesDeDatos y la Originator viene siendo Registro. Como se si estoy cumpliendo en el patrón la encapsulación?. Saludos desde Venezuela
Hola Ericka, En realidad en este ejemplo utilicé la clase BasesDeDatos para actuar como Originador, y el caretaker es la clase Memento. La encapsulación la cumples debido a que no debes hacer ningún cambio en tu clase registro para poder realizar las instantaneas. Saludos.
gracias por contestar, Alexys a ver si entendi entonces el patron:
1) El originador posee los atributos que se quieren guardar
2) El originador es quien crea el memento
3) El caretaker conoce cuando el originador tiene que realizar la instantenea
4) El originador es el encargado de realizar la restauracion de la instananea, la clase Memento es quien devuelve esta instantenea
5) El memento tiene el tipo de dato que se quiere guardar.
Gracias de antemano Alexys
Saludos
Hola, yo haría algunas correcciones a tus afirmaciones:
2) El originador instancia el memento
3) El cartaker ejecuta el proceso de tomar y devolver las instantaneas
Ahh ok. Para este en específico necesitas conocer JAVA y entender la programación orientada a objetos (Herencia, Polimorfismo, Encapsulación, etc).