OBSERVER (El PATRÓN que lo ve TODO) | PATRONES de DISEÑO
Вставка
- Опубліковано 7 лют 2025
- Consigue mi curso en MasterMind! 🚀 bit.ly/3kr4bTc
En éste vídeo de la serie de PATRONES DE DISEÑO veremos el PATRÓN OBSERVER, uno de los más utilizados.
Índice de la serie!
👉🏻 • Las PIEZAS FUNDAMENTAL...
👾 Redes sociales 👾
► Twitter: / bettatech
► Instagram: / betta_tech
► Canal Secundario: / @forkdebettatech
► Slack: bit.ly/33gaDDM
👨🏼🏫 MIS CURSOS 👨🏼🏫
👽 Curso de iniciación a la programación con JavaScript:
► bit.ly/3kr4bTc
👕 MERCHANDISING DEL CANAL:
► Tienda UA-cam: / bettatech
► Tienda Teespring: teespring.com/...
⭐️ AFILIADOS ⭐️
🎁 7% Descuento en HOSTINGER (Código BETTATECH)
► www.hostg.xyz/...
🧠 Autocompletado con IA (Kite)
► www.kite.com/g...
🐾 MacPaw (CleanMyMacX):
► macpaw.audw.ne...
🎵 TODA la música es de EpidemicSound:
► www.epidemicso...
✉️ CONTACTO PROFESIONAL:
► Respuesta no garantizada:
bettatechyt@gmail.com
📚 LIBROS 📚
Design Patterns
► amzn.to/39XuQlq
Head First Design Patterns
► amzn.to/2uq6XUq
Refactoring
► amzn.to/2SQnf2c
Clean Architecture
► amzn.to/3bZVonJ
Clean Code
► amzn.to/32WVKq3
Introduction to Algorithms
► amzn.to/34SyVFP
Cracking the Coding Interview
► amzn.to/2QkdwC6
⏱ ÍNDICE:
• 0:00 - Introducción
• 00:36 - Teoría del patrón
• 3:13 - Programando el patrón
• 11:10 - Conclusión
Ver esta serie de videos sobre patrones es la forma más eficiente de hacerse una idea general sobre cada patrón. Se lo estoy recomendando a todos mis compañeros en la Universidad. ! Muchas gracias !
Gracias a ti por pensar eso y por recomendarme!! Es gracias a vosotros que seguimos creciendo :D
Estoy aprendiendo patrones ahora en tercero de carrera y la verdad tus vídeos me salvan la vida
BRUTALÍSIMO, la mejor explicación que he visto, ni libros, ni artículos ni nada... ÉSTE VÍDEO! Enhorabuena y gracias
Estos videos realmente me ayudaron a progresar en la programación, aprender estos patrones es súper útil, justo ahora estoy haciendo un proyecto que necesita de este patrón de diseño
Los vídeos de esta serie son oro puro. Muy buena explicación 👏🏼👏🏼
Gracias!!! Me alegra que te haya parecido útil :D :D He querido añadir el código en el mismo vídeo y explicar más por encima el UML a ver si os gustaba mas :)
BettaTech Yo creo que si aporta más claridad a la explicación 👍
Noooogfegeydydy🎮🎮🎮
Me acabo de dar cuenta que estaba usando este patron de diseño (junto con otros) lo uso en mis videojuegos por la estructura que les doy, lo uso para detectar las colisiones y esas colisiones las recube el jugador y acciona, tambien lo uso en la IA de enemigos para saber cuando el personaje muere para que ellos dejen de perseguirlo y continuen con su comportamiento, eso entre otros usos que recuerdo
Muchos patrones los usamos sin darnos cuenta cuando no los conocemos, una vez q los conocemos pues al menos podemos atacar antes el problema o simplemente viendo el código de una librería o un Framework entender como funciona
Asi es bro, ademas, conocer cual patron y que cosas usamos sirve para investigar más e implementarlo como dios manda
me pasó lo mismo con factory y abstract factory.
ahora quiero aplicar el patrón estrategia
HolaMundo y BettaTech son de los mejores canales para el aprendizaje!
Explicando con rapidez y sencillez, excelente tutorial, saludos.
Estoy leyendome el libro que recomendaste de patrones y cada vez que leía un patrón iba a ver tu vídeo explicándolo, justo cuando llegue a este vi que no había vídeo y mi aprendizaje ya no fue igual jajaja. Gracias por tu trabajo!
Hola que libro te recomendó, gracias.
@@angeldavidlucerotonder898 head first design paterns. Esta en ingles pero es bastante fácil e ilustrativo, lo recomiendo mucho. Este hombre tiene un vídeo recomendando libros puedes echarle un vistazo
Hola genio como estás? Estoy esperando más episodios de patrones de diseño... si los vídeos vienen con código en tiempo real mejor aún! Un abrazo desde Argentina
Como siempre BettaTech ofreciendo oro para programadores, gracias.
Me he visto toda la serie y ahora quiero maaaas! esta super bien! suscrito y campanita :D
Tremendos videos! Se echan de menos.
Excelente video! Claro y conciso...
Este patron es uno de mis favoritos junto con el patron estrategia
Muchas gracias por la explicacion, entendi el patron mas alla de memorizarla. Gracias!!!
Excelente explicación y ejemplo práctico, Martín 😉 ✔
99773
Excelente explicación, profesor
Me encanta esta serie de patrones de diseño, muy interesante 👌🏻
Ya lo hay. Buscalo en su canal.
Excelente, muchas gracias por estos videos
Justo he estado viendo patrones en js y no entendí este.
Me encantan tus vids!
Muy bueno! Estaría bueno ver un ejemplo como el que programaste pero en un diagrama de clases como la estructura que muestras al principio, de igual manera, se entendió perfecto. Saludos!
Muy buenos las explicaciones de los patrones y teorías.
Excelente vídeo, mas como este que se aprende mucho.
Excelente video! Que IDE estás utilizando?
Gracias! Aqui concretamente uso nvim
@@BettaTech Que terminal estas usando para que se te vea el modo de nvim que tienes , el nombre de archivo, etc...
o directamente son plugins en nvim?
@@nikolam-dev busca zsh y oh my zsh...
Me pareció muy interesante el vídeo, lo que no logro visualizar todavía es el cómo se implementaría en un entorno real. Siguiendo con el caso de UA-cam, no logro ver el cómo se notificaría a cada usuario que un UA-camr a subido un nuevo vídeo, ya que no comprendo muy bien como se logra guardar los estados de cada objeto. Supongamos que BettaTech sube un vídeo y se ejecuta el mecanismo para notificar a los suscriptores, no sé como se guardaría ese estado "pendiente" de notificar a un suscriptor cuando este entre a su cuenta de UA-cam, porque la notificación salta una vez que hayas iniciado sesión por lo cual se tendría que guardar un estado como pendiente de notificar, no sé si estoy dándole muchas vueltas pero estoy sad por no saber cómo hacerlo. De todas formas, muchas gracias por este excelente vídeo :)
Se podría hacer de varias formas! El observador no TIENE porque enviar la notificacion al momento. Quiza, en ese dominio, simplemente registra que hay una notificación a enviar, y lo guarda en una base de datos o similar.
A continuación, cuando tu haces login, en otro sistema, se comprueba si tienes alguna notificación pendiente de recibir y se realiza el envio de la notificación como tal.
Hay varias formas de resolver las cosas, los patrones al final son herramientas que nos pueden servir en ciertas partes del código y en subproblemas que, juntos, intentan resolver el caso de uso
@@BettaTech Qué genial !! Muchas gracias por su respuesta, ahora entiendo mejor todo :). Saludos maestro BettaTech 🙏
Ni una pega. Excelente trabajo y explicación.
Muy bueno!, super clara la explicación, se agradece 👏👍
Es el mejor ejemplo que vi
muchísimas gracias, me quedó super claro!
Excelente explicación, Gracias
Un excelente nombre sería "El Patron iluminati" jajajja. Muy buen video!
Aquwywuwyywywys uno un un tu y tu un hijo TV tu
Muy buen video, me ayudo para entender (e imaginar) mejor algunas cosas de Flutter y Redux
Excelente video, sera que puedas hacer algun video sobre equipo de computacion que usas dia a dia? jejeje me intereso saber sobre tu teclado y el escritorio jejeje
Me encantan estos vídeos, ¿Ya se viene uno nuevo? Sería genial uno de inyección de dependencias.
Excelente video!!
Buen video, lo felicito hermano, gracias
Me dieron 6 / 7 errores siguiendo todo al pie de la letra JAJAJJ, recién descubrí el canal, veo q me falta un largo camino todavía. Muy buen contenido y explicación!
Los errores son: "attach, which lacks return-type annotations implicitly has asn 'any' return type", "detach, which lacks return-type annotations implicitly has asn 'any' return type", "notify, which lacks return-type annotations implicitly has asn 'any' return type", "update, which lacks return-type annotations implicitly has asn 'any' return type", "Type 'UA-camChannel' is not assignableto type 'null'" , "Object is probably 'null'".
Hola! Me fascinó tu video, muchas gracias porque fue una explicación muy sencilla de entender. Sin embargo me quedó una duda. Por qué en el constructor del observador (el suscriptor) seteaste el observable? Por qué es sólo uno? Podría enviar el observable en el método update en forma this? Pienso que eso de pronto haría más flexible el código para el caso de "un suscriptor suscrito a varios canales" pero puede que esté perdiendo algo.
Muy bueno! Este es el patrón para crear eventos?
Muy buen video, muchas gracias, llevo tiempo queriendo pillar un libro de Patrones de Diseño ( Español o Ingles ), para poder tener una mejor visión a la hora de programar y mirar los proyectos desde una perspectiva un poco mas elevada y no siempre pica código ¿alguna recomendación?
Head First Desing Patterns->Kathy Sierra;
Puedes ver más ejemplos de patrones de diseño en mi joven y sexy canal muchas gracias.
me sirvió mucho el video, gracias!
Excelente canal!
Gracias amigo, si apruebo el parcial de Ingeniería de Software 2 te debo una
Excelente explicación 👌🏽👌🏽
Excelente video, me gustaría ver qué leches son las inyecciones de dependencias😐🤔
Básicamente y dicho a lo bruto, pasar las dependencias de una clase por parámetro y no construirlas dentro :D
La clase A necesita la clase B para funcionar. Para instanciar la clase A pasas la clase B en el constructor
Lo que evita la injeccion de dependencias es que tengas que usar un "new X" dentro de una clase Y, y para que sirve esto, para que en lugar de crear un new X puedes recibir en tu constructo o en tu metodo setX una interfaz es decir que puedes pasar cualquier implenetacion concreta como parametro y no solo X.
@@fidekof está más que claro tú respuesta. Muchas gracias
@@eudyreynoso1889 por nada amigo, soy programador, y a veces estos conceptos son un poco confusos, pero con el tiempo ayudan mucho... Saludos y exitos amigo...
Una exelente explicación, para cuándo uno donde se haga MVC?
Deje 2 videos tuyos en distintas pestañas, cuando volvi a abrir el navegador se reprodujeron al mismo tiempo y dijeron lo mismo al unisono. Eso fue el Patron Resonance
Muy buen video, me resultó de gran utilidad, sin embargo creo que este diseño ata a cada observador a un único observable? Estaría mal pasar el estado que cambió al método update del observador o incluso usar strategy para crear un sistema de herencia de estados y aplicar una determinada acción en función del estado que se reciba?
Muy buen video!!! Que desventajas tiene utilizar este patrón?
gracias por este video bro
Hola betta tech. Podrias explicar el patron chain-of-responsibility antes del 24? tengo que entregar un trabajo y sos un master. te vengo entendiendo todo.
Podrías hacer un guía de tiling window managers?
hola muy buena explicacion, me llama mucho la atencion tu configuracion de vim. puedes hacer un video explicando como lo has configurado ? recien comienzo a usar tambien y aun no dejo VScode del todo xdd
que bien video gracias
Buen video una pregunta fuera del tema, que le hiciste a tu linea de comandos y a tu vim para que se vea asi, estas usando powerline?
Esperaba mucho un nuevo patrón
Si recomiendas saltarte de node a deno?
Muy interesante! Gran video!
Faltaría hacer el Front y ya estamos
Tu voz me transmite tranquilidad
Patron observer esta relacionado con el funcionamiento interno de cuando le das a la campanita para que te notifique los nuevos videos? o no es asi?
9:06 tienes algún vídeo de los principios de programación?
Muy buen vídeo!!
Has mencionado un par de veces "en el patrón clásico".
Hay otro patrón observer donde no se pase por constructor el observable?
¿No sería quizá mejor que notify() recibiese una abstracción tipo, por ejemplo, "notify(IObservableChange)" con información de qué ha cambiado? Me parecería mejor solución, aunque no soy arquitecto... ¿Sería una mala solución esta?
Enhorabuena por el canal. Lo acabo de descubrir y me está encantando.
Ya tienes un suscriptor asiduo, tenlo por seguro!!
Bravo 👏👏
Buenas, este año estructura de datos vemos haskell, podrias hablar algo de ese lenguaje? En plan para que y quien lo usa? O lonq tu veas. Gracias
esta muy interesante yo lo uso con angular pero tendre que vermelo varias veces para entenderlo
INCREÍBLE CANAL
Increible comentario 😄
Podéis ver más ejemplos de patrones de diseño en mi canal, de momento la parte de patrones creacionales, un beso puercos.
Lo mejor del video es que use Deno. Aguante Deno!
Una pregunta, al crear un nuevo suscriptor al canal... ya se supone que debería estar "escuchando al observable" no? No está así implementado puesto que toca realizar el "atach()" (podría ser un... "dale a la campanita"), pero en caso de querer hacerlo todo automaticamente en un mismo paso como sería? Gracias de antemano y excelente video
¿Cuál es el modelo de mesa que utilizas? Me gusta mucho
Buen video, por cierto que editor de codigo estas utilizando
¿Qué esquema de color utilizas para Vim?
thanks
Has seguido con el juego en C++? Tienes el repo publico?
hola, se que no es tanto del tema pero porfa he visto que algunos usan la arquitectura de java o c en proyectos como buenas practicas y me confunde un poco las capas de Entidades, servicio y los dto, si ya hay controladores que hacen eso fuera de las rutas
Con la explicación teórica y código la explicación es más completa!
Tengo una pregunta y quisiera saber si alguien me la puede responder : que es mejor o que diferencias hay entre un ingeniero informático de software y un ingeniero informático de computadores(que creo que es el de programación de aplicaciones y tal)
Seria buena idea par un video mostrar la personalización de la CLI de linux
No está usando Linux
Podrías Hacer el Patrón Transacción Por favor
que so usas?
Hola
Lo uso todos los dias...
Podrias por favor continuar con el patron VISITOR ?
Hola amigos de BettaTech, me gustaria saber si tienen algun video o material relacionado con el paso a paso para publicar en facebook anuncios de instalación de aplicación.
Muy buen video, pero siento que es mejor que ya tengas el codigo y lo vayas explicando en vez de estarlo escribiendo, asi como lo haces en tus otros videos. Puedes tomar el tiempo que te lleva escribirlo en describir ejemplos mas complejos.
Saludos.
👌 Excelente 👌
vine por el pattern y me enamore del guapo youtuber
Amigo te pareces a Vsauce jajajaj
QUE HA PASADO CON ESTA SERIE?? estaba muy interesante.
Oye, y ese teclado? Preséntanoslo!
Puede que sea parte del proximo video? 👍
No me cuadra mucho que el constructor del subscriptor tenga el canal. Entiendo que por simplicidad un subscriptor solo está subscrito a un canal, pero cuando se crea el sub debería añadirse automático a la lista de subs del canal, si no de un descuido podría quedarse colgado
En realidad ambos se tienen entre sí el subscriptor tiene el canal y el canal tiene n subscriptores dentro, esto con el fin de que ambos pueden desuscribir si quieren.
este tema de observable me ha costado he aprendido angular, Swift , nativescrips pero observable nada :(
Que código es ese ?
Typescript
Ah como el Observer de Minecraft
Primer comentario 😂
gg
Why attaching the subscriber in the main scope if you already have the reference of the UA-cam channel within the Subscriber's constructor?
Thank you for your video explanation, but in my opinion it is a little over complicated. Keep it simple :p
EDIT: I see that youre talking more about the usage itself, not the structure.
And, yes! its a really valid argument, we could attach directly on the constructor. In fact it would me better in my opinion. It would be nice to see pros and cons 😀
sigo sin entender por qué usas mac :v
Más facilidad al programar creo