SINGLETON | PATRONES de DISEÑO

Поделиться
HTML-код
  • Опубликовано: 15 май 2020
  • 👉🏻 Obtén 7 días de trial y 25$ de crédito en UpCloud
    👉🏻 upcloud.com/signup/?promo=bet...
    El patrón SINGLETON es uno de los más famosos y más utilizados. En éste vídeo vamos a ver cómo funciona éste patrón de diseño!
    Índice de la serie!
    👉🏻 • Las PIEZAS FUNDAMENTAL...
    The Clean Code Talks - "Global State and Singletons"
    👉🏻 • The Clean Code Talks -...
    👾 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 RUclips: / bettatech
    ► Tienda Teespring: teespring.com/stores/bettatec...
    ⭐️ AFILIADOS ⭐️
    🎁 7% Descuento en HOSTINGER (Código BETTATECH)
    ► www.hostg.xyz/aff_c?offer_id=...
    🧠 Autocompletado con IA (Kite)
    ► www.kite.com/get-kite/?...
    🐾 MacPaw (CleanMyMacX):
    ► macpaw.audw.net/c/2523912/941...
    🎵 TODA la música es de EpidemicSound:
    ► www.epidemicsound.com/referra...
    ✉️ 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
  • РазвлеченияРазвлечения

Комментарии • 222

  • @ronaldtorres4784
    @ronaldtorres4784 4 года назад +75

    Tuve que verlo dos veces porque la primera vez me mantuve ocupado viendo como aumentaba el contador de instacia...

  • @SergioRibera
    @SergioRibera 4 года назад +61

    Soy desarrollador de videojuegos Indie y a lo largo del tiempo me di cuenta que era mucho mejor usar Singletone para manejar los datos del usuario, ademas de las conecciones a bases de datos y carga de niveles, gracias por tu videos estuvo muy bueno

  • @PositronQ
    @PositronQ 4 года назад +48

    Haz un directo hablando en general de algunos de los patrones de diseño Y como se utilizarían en cada proyecto

  • @eliazarlopez4183
    @eliazarlopez4183 4 года назад +42

    He utilizado este patrón para realizar un gamemanager, para gestionar los niveles de un videojuego. al momento de cambiar de nivel siempre obtenía el mismo gamemanager.
    Muy buen video, estoy al pendiente de está súper serie, saludos desde México

    • @BettaTech
      @BettaTech  4 года назад +7

      Gracias por tu comentario y el caso de uso de Singleton 😃

    • @ricardoapuy2813
      @ricardoapuy2813 4 года назад +3

      Es exactamente el uso que le voy a dar XD

    • @albertoleon308
      @albertoleon308 3 года назад

      En los manager es muy útil, yo lo use en una clase sesionmanager.

    • @Marco-bd5eh
      @Marco-bd5eh 3 года назад

      Por ejemplo... Me imagino que el Gamemanager tenia ciertas características sobre los niveles, entonces aplicaste el singleton para aplicar a estas funciones pero desde cualquier nivel. ¿Así funciona?

  • @aNtULiPs
    @aNtULiPs 3 года назад +6

    Challenge 2021: explicar Singleton diciendo la palabra "instancia" menos de 28 veces jaja. Todavía no sé lo suficiente como para sumarme al debate, pero estoy disfrutando mucho esta serie de Patrones de Diseño. Los ejemplos con videojuegos hacen que valga aún más y en el tiempo, cada hora que les dediqué jugando. ¡Gracias por todo!

  • @NicoILeone
    @NicoILeone 4 года назад +1

    Muy bien explicado! Muchas gracias! Felicitaciones.

  • @alonsogalan5505
    @alonsogalan5505 4 года назад

    ¿Podrías subir más explicaciones sobre más patrones de diseño? Lo explicas de lujo.

  • @rsaoto
    @rsaoto 4 года назад +1

    Excelente esta serie de videos!
    ¿Cada cuanto sale uno nuevo?
    Voy a estar atento!
    Gracias por compartir el conocimiento

  • @Sr.Sableye
    @Sr.Sableye 3 месяца назад +1

    Chat GPT me dio esta solución, si me funciono, pero no me sentí totalmente comodo usandola sin entender, le solicite explicación pero quede un poco confundido, ahora con tu video explicado de una mera tan sencilla me hizo entender al 100% la solución que implemente a mi proyecto

    • @BettaTech
      @BettaTech  3 месяца назад

      Muchisimas gracias!!! Me alegra que te haya sido de ayuda :)

  • @CRFigueroa
    @CRFigueroa 4 года назад +1

    Me simplificaste el dilema de los patrones, gracias!! Suscrito y 👍a los vídeos, cuando hay más?

  • @Verax__
    @Verax__ 3 года назад +1

    Muy bueno, se entiende muy bien. A este tipo de videos siempre siento que le falta algo como un ejemplo aplicado para que los que recien nos estamos empapando en estas tematicas podamos terminar de cerrar la idea.

  • @soj3da
    @soj3da 4 года назад +2

    Muchas gracias por el video, y muy comico el contador de instancia jajajajaja

  • @jameslegar7065
    @jameslegar7065 4 года назад +1

    Excelente la explicación perfecto para mi vídeo juego, tuve que repetirlo como tres veces, pues es inevitable contar la cantidad de veces que decía la palabra "Instancia"

  • @ElYorWTF
    @ElYorWTF 4 года назад +2

    Me gusta como explica todo, no me canso de ver estas cosas tan básicas pero es que es hermoso

    • @neecosanudo
      @neecosanudo 4 года назад +1

      Esa barba pone cachondo a media comunidad

    • @BettaTech
      @BettaTech  4 года назад +6

      Dios mío, no sabía que me mirábais con esos ojos 😳

    • @ElYorWTF
      @ElYorWTF 4 года назад

      Hey aguantaaaaaa..... Digo que es hermoso el mundo de la programación calma calmaaaaa

    • @neecosanudo
      @neecosanudo 4 года назад

      @@BettaTech La cuarentena los pone mimosos

  • @MultiTelefono
    @MultiTelefono 4 года назад +2

    Este patron lo estoy utilizando en mi proyecto de React-native para manejar la navegación programáticamente

  • @carlosbastos2032
    @carlosbastos2032 2 года назад

    Un capo explicando!!!! Simplemente genial!!!!!

  • @pabloxD75
    @pabloxD75 4 года назад +1

    Este patron lo estoy viendo en curso de Xamarin que estoy tomando, me parece bastante interesante. ✌

  • @guillermoestebantorresrenn3173
    @guillermoestebantorresrenn3173 4 года назад

    Excelente explicación, muchas gracias!!!!!!!!!!!!

  • @sergiocastro5060
    @sergiocastro5060 3 года назад +1

    Muchas gracias, es complejo para mi entenderlo, pero ya me quedo mas claro !

  • @lucianotomasvilla7274
    @lucianotomasvilla7274 4 года назад +2

    Genio Martin, gracias por el contenido de calidad

    • @BettaTech
      @BettaTech  4 года назад +1

      Gracias a vosotros por ver mis vídeos! :D

  • @albertjjimenezp
    @albertjjimenezp 3 года назад +2

    En lo personal uso muchisimo el patron singleton para la agrupacion de funciones generales. Combinado por ejemplo con patron BLOC en Flutter me permite generar funciones que trascienden a lo largo del arbol de la aplicacion simplificando muchos procesos ya que aunque los widgets se crean y se destruyen a todo momento esta unica instancia administra de forma centralizada un conjunto de habilidades que bien aprovechado puede ser beneficioso para la aplicacion. Ahora, mezclandolo con clases abstractas y mucho polimorfismo reduce "la mucha complicacion" de crer, administrar y depurar el ciclo de vida constantemente. Mas que un simple patron yo diria que es un complemento para otros patrones de diseño que permite administrar variables gobales evitando colisiones entre las mismas (O promoviendolas si eres un cabezota poco disciplinado). Gracias por tus videos.

  • @tomas-jo4tz
    @tomas-jo4tz 3 года назад

    Gracias pela, sos crack, videos cortos y claros

  • @matiasmartini2038
    @matiasmartini2038 4 года назад +1

    Gran vídeo !! muy buena explicación

  • @agustinmariani4701
    @agustinmariani4701 2 года назад

    Excelente explicación! Muchas gracias ⭐️

  •  4 года назад +1

    Esta muy bien el vídeo. Lo he utilizado para controlar el acceso a recursos compartidos.
    Al vídeo le falta para ser redondo, las variantes de singleton para accesos concurrentes, acceso por varios hilos y como controlar esos accesos.
    Lo dicho, un buen vídeo, enhorabuena

  • @federicomarroquin4470
    @federicomarroquin4470 4 года назад +1

    Excelente video, gracias por explicarlo.

  • @rafaelestrada3525
    @rafaelestrada3525 4 года назад +1

    Yo lo estoy utilizando en otro patrón conocido como Unit of Work para instanciar a clases con otros patrones conocidos como Repositorios con los metodos CRUD

  • @juanbriano5315
    @juanbriano5315 3 года назад

    Tus videos sin excelentes! Muchas gracias!

  • @luis96xd
    @luis96xd 4 года назад

    Excelente video, muy bien explicado 😄

  • @esteveli
    @esteveli 4 года назад +1

    Yo lo he utilizado en conexiones a base de datos como MongoDB y más últimamente ,con un socket que es usado por multitud de clases pero solo tiene que establecer y usar una única conexión.

  • @blinkbyker
    @blinkbyker 4 года назад +99

    instancia++

    • @PositronQ
      @PositronQ 4 года назад +2

      Zenemij muy bueno

    • @tiamirta2495
      @tiamirta2495 3 года назад

      Hola, queria comentar que al poder crear una sola instancia basta con un tipo de dato boolean iniciado en false y en el constructor setearlo en true. Ejemplo: private static boolean thereIsAnInstance = false;(java) .. Un contador no seria necesario ya que no va a existir mas de 1 instancia.

    • @compraenchina2010
      @compraenchina2010 3 года назад +1

      El patrón singleton lo tengo claro, pero no tanto que es una instancia :P

    • @eR1cK92
      @eR1cK92 3 года назад

      @@compraenchina2010 cuando crea un objeto de x clase se dice que lo instancias , darle vida a.la.csse.instanciando una entidad de dicha clase

  • @vladimirrc2377
    @vladimirrc2377 4 года назад +3

    Precisamente tuve un caso para un mapper global con la relación llave_typo de dentro de un factory, cuando corría los test, se comportaba raro porque las pruebas unitarias corrían en paralelo y la inicializacion de la instancia y su mock se tranlapaban pues todos veían la misma instancia y por tanto se afectaban entre ellas y fallaba uno u otro test dependiendo quien ejecutaba antes.
    Precisamente tuve que hacer una bandera para indicar cuando debía comportar de forma natural y cuando como test.

  • @ernestorh6110
    @ernestorh6110 4 года назад

    Antes de ver el video le di LIKE. Excelentes videos

  • @cristianf.777
    @cristianf.777 4 года назад +1

    Me gustaría saber más de sobre arquitectura de software. Saludos desde México.

  • @noobinthenet8483
    @noobinthenet8483 3 года назад

    Muy bien explicado y detallado! Me ha gustado mucho el vídeo. Un sub mas

  • @juancarlossequeirapiedra2091
    @juancarlossequeirapiedra2091 4 года назад +5

    Justamente este patrón lo estoy utilizando para mi proyecto, buen vídeo.

    • @BettaTech
      @BettaTech  4 года назад +1

      Gracias!

    • @samueltdev
      @samueltdev 4 года назад +7

      yo solo lo use en la conexión a la base de datos, es justamente lo que dice en el vídeo, si la instancia ya existe uso la existente...

    • @vladimirreyes1661
      @vladimirreyes1661 4 года назад

      @@samueltdev Eso mismo estaba pensando.

  • @mlm1106
    @mlm1106 Год назад +1

    Hay un poco de video en tus instancias :P jajaja Genial el video!.

  • @jorgepalacio5091
    @jorgepalacio5091 4 года назад +1

    Waooo interesante video! Gracias.

    • @BettaTech
      @BettaTech  4 года назад +1

      Gracias a ti! 🤩

  • @sprintwithcarlos
    @sprintwithcarlos 4 года назад +2

    Está muy buena la explicación. Y creo que es un antipatrón.
    Un tema que me gustaría que algún día expongas sería los pros y contras de clases vs factorías. Me parece interesante para la comunidad analizar esto

  • @dr.freemanaperture1668
    @dr.freemanaperture1668 3 года назад

    Explicado 10/10, AAA, vamos perfecto!

  • @keenkidash7616
    @keenkidash7616 4 года назад +8

    El singleton pattern es como una hacha. Es igual de útil como arma que como herramienta... Sólo está en las manos del arquitecto hacer un buen uso de éste.

  • @maurojulianayala1665
    @maurojulianayala1665 7 месяцев назад

    Muy claro todo! muchas gracias desde Congreso , Argentina!

  • @malavoelpoto
    @malavoelpoto 4 года назад

    Excelente explicación me ha quedado clarisimo y eso que no hiciste un ejemplo programando.

  • @bugforbug9001
    @bugforbug9001 4 года назад +7

    Una pregunta. Es buena idea usar este patrón para la conexión a base de datos?
    Que problemas podría traer?

  • @Tommi8801
    @Tommi8801 3 года назад

    Capo me resolviste algunas dudas..

  • @carlos9484
    @carlos9484 4 года назад +15

    Eso de ir contando las veces que nombras "instancia" es una gran distracción.

    • @Lokario
      @Lokario 4 года назад +2

      Exactamente, me centraba más en tratar de escuchar la palabra instancia que en entender el video

  • @jobvillagran
    @jobvillagran 3 года назад +3

    Gracias por el video, crees que podrias hacer algun tipo de ejemplificacion? Se que es un video de hace rato y no estoy seguro si tienes otro de este patron.

    • @Verax__
      @Verax__ 3 года назад

      Me sumo a este pedido

  • @TecnoRepair
    @TecnoRepair 4 года назад +11

    Un buen ejemplo del patrón Singleton son los calendarios, ya que, al instanciarlo se llevan a cabo cálculos de de días, semanas, meses, días feriados, etc... Usando este patrón nos aseguramos de instanciarlo una sola vez y así poder usarlo en varias ocasiones sin consumir mas recursos de los necesarios.

  • @enver9275
    @enver9275 Год назад

    Que buena explicación, me quedó muy claro.

  • @christianalvarezsanchez6659
    @christianalvarezsanchez6659 4 года назад +1

    Bueno aun no lo he usado , pero creo que para las clases repositorios que implementan una interfaz, creo que estaría bien.

  • @josemi7225
    @josemi7225 4 года назад

    Gracias por el video. Eso sí, sería todavía mejor el vídeo si pusieras también el código para C++ ;)

  • @diogenesmonegro3773
    @diogenesmonegro3773 4 года назад

    Ese es mi patron preferido.

  • @antoniodejesusgonzalezglez6053
    @antoniodejesusgonzalezglez6053 6 месяцев назад

    una chulada de explicación!! felicidades

    • @BettaTech
      @BettaTech  6 месяцев назад

      Gracias! Saludos!

  • @saraisabelventuraalvarado5628
    @saraisabelventuraalvarado5628 3 года назад

    yo resien estoy estudiando pero me parece interesante ya que este patron sirve para poder acceder sin hacer varias instancias y asi poder tener acceso a otros lados pero interesante y muy creativo ya que es como si fuera un atajo

  • @Familia_Borgogno_Arce
    @Familia_Borgogno_Arce Год назад

    jajja, no me pude concentrar en el video, tratando contar las palabras de "instancia" jaja. lo veré de nuevo. muchas gracias por el video...

  • @kevincalvache577
    @kevincalvache577 3 года назад

    Soy nuevo en lo relacionado a la arquitectura de software. Singelton sería un patrón recomendado para implementarlo en una clase contexto de una base de datos?

  • @carlosalberti
    @carlosalberti 3 года назад

    buena explicacion.

  • @juanantoniosotocabrera7045
    @juanantoniosotocabrera7045 4 года назад +1

    Sin querer me di con este video y tu canal, lo explicas de una forma sencilla!, mi duda es recomendarias singleton para una aplicacion restful ?

    • @jorgemedina2272
      @jorgemedina2272 3 года назад

      Yo lo he utilizado con node, de crear una sola instancia del servidor y la configuración.

  • @tiamirta2495
    @tiamirta2495 3 года назад

    Gracias por el video, esta muy bueno el tema patrones. Quería aclarar a los que no se den cuenta que en el ejemplo que muestra, mas precisamente en el IF, siempre esta retornando una nueva instancia. Para resolver esto el return tiene que ir adentro del IF y fuera del IF otro return null.

    • @harryhaller4094
      @harryhaller4094 2 года назад

      No amigo, el código es correcto. El método getInstance nunca debe devolver un null, debe devolver el atributo instance de la clase Singleton, atributo que a su vez también es de la clase Singleton.
      La primera vez que se invoca a getInstance, el if se evalúa a true, puesto que el atributo instance es null. Entonces entra en el if, instancia un objeto Singleton y lo asigna a su atributo instance. Finalmente devuelve el objeto instanciado.
      Las sucesivas veces que se vuelve invocar a getInstance, el if se evalúa a false, puesto que en la primera invocación ya se instanció el objeto Singleton y se asignó al atributo instance, que por lo tanto ya no es null. Así que ya no entra en el if, y no se vuelve a instanciar nada.
      La ejecución sigue y en estas sucesivas ocasiones se devuelve el objeto Singleton, como la primera vez, pero en estas ocasiones ya no fué necesario instanciarlo de nuevo, puesto que ya estaba guardado en el atributo.
      Espero haberte aclarado el tema. Saludos.

    • @tiamirta2495
      @tiamirta2495 2 года назад

      @@harryhaller4094 claro, creo que ahora entendi. De todas formas copie el codigo del video tal cual y no funciona. Por eso mi comentario.

  • @DjMostreck
    @DjMostreck 4 года назад

    Será recomendable utilizar singleton para las listas (ej. Países, Ciudades, etc) en las vistas? Lo digo por la cuestión de performance.

  • @antonygiomarx
    @antonygiomarx 4 года назад +1

    Grande Martín.

  • @revolverkimblee
    @revolverkimblee 4 года назад +2

    Puedes hacer un video con Santaolla hablando de WOLFRAM?

  • @antonioitsolutions8792
    @antonioitsolutions8792 4 года назад +1

    Patrón Decorator el siguiente porfa 👌🤘🙏🙏

  • @ckgrafico
    @ckgrafico 4 года назад +1

    Un gran vídeo y muy bien explicado “No puedes ir instanciando por ahí como si no pasara nada” 🤣

  • @MrMiller969
    @MrMiller969 2 года назад

    Muchas gracias, un video muy bien instanciado ... perdon, quise decir muy bien explicado xD

  • @luisangeltorresgrimaldo7772
    @luisangeltorresgrimaldo7772 Год назад

    Muy buen video, gracias

    • @BettaTech
      @BettaTech  Год назад +1

      Gracias por comentar!!

  • @kennyel13
    @kennyel13 4 года назад

    Esa remera es fantastica

  • @rickhunter8216
    @rickhunter8216 Год назад

    BUEN VIDEO KRATOS TIERNO.

  • @JorgeLuis-ts6qp
    @JorgeLuis-ts6qp Год назад +1

    Siempre que me he visto tentado a usar Singleton he podido reescribir la clase como abstracta con métodos estáticos. Diría sin embargo que Singleton puede ser más útil que una clase abstracta si la construcción de la clase fuera lenta. En ese caso, sería beneficioso ahorrarse la llamada al constructor hasta que se lo necesite.

  • @thebetoxpro
    @thebetoxpro 4 года назад +2

    Justo vi esto en Platzi xd

  • @OscarMartinez-zp6fr
    @OscarMartinez-zp6fr 4 года назад +2

    No lo considero un anti patrón. Pero si que creo que a veces se abusa, utilizándose en situaciones en las que no se debería implementar. Si lo vas a usar, piénsalo dos veces y mucho cuidado si tu aplicación es multithread o accedida de forma simultánea por varios clientes

  • @FedericoAlemany
    @FedericoAlemany 2 года назад

    Solo por curiosidad, no se podría verificar la existencia de la instancia en el constructor? (y así poder dejarlo como público).

  • @Jocker88
    @Jocker88 4 года назад +1

    Yo en tareas lo estuve utilizando para clases controladoras para escribir en XML, o alguna base de datos, ahora no se si hice mal, no sabía que había controversia sobre este patrón (ojo, que soy estudiante). Mis profesores nunca me han puesto pegas. ¿Qué opinas?
    Un saludo!
    P.D. Me he quedado con las ganas de que llegaras a 40 xD.

  • @Cloudd014
    @Cloudd014 4 года назад

    Pues en Unity se suele usar para la instancia del game manager, así al cambiar de escena no se vuelve a crear uno, no sé si eso es óptimo

  • @JohnnyMnemonic882
    @JohnnyMnemonic882 Год назад

    El uso fundamental del patrón es el uso compartido de un recurso como por ejemplo en una aplicacion web, tener 1 una única conexión a base de datos y no tantas como sesiones abiertas. El recurso (instancia) no depende de la sesión, solo la utiliza, todas las sesiones usan la misma instancia de acceso a base de datos, o de acceso a cola de mensajería. Se puede gestionar en modo pool de N instancias concretas, pero no tendría sentido que cada sesión creara una instancia a base de datos. En el ámbito Enterprise es el uso habitual e integrado en todos los frameworks de backend.

  • @enriquejesusbacaestrada4821
    @enriquejesusbacaestrada4821 4 года назад +2

    Llevo años usándolo pero para el control de recursos en el servidor, cada que se crea un objeto consume recursos, memoria, procesador y más cuando tratas con millones de registros en BD.

  • @carlosortigoza5222
    @carlosortigoza5222 4 года назад +2

    Segundo comentario, tus vídeos son excelentes colega

    • @BettaTech
      @BettaTech  4 года назад

      Gracias! 😊 Me animáis muchísimo!!!

  • @56f5dbc3
    @56f5dbc3 Год назад

    Excelente video. Una sugerencia, no pongas elementos que distraigan a tu público. En mi caso me desconcentra el contador instancia. Saludos

  • @AlbertoDiAlEsp
    @AlbertoDiAlEsp 4 года назад +1

    En un curso que hice me dijeron que el mayor uso sería usarlo para la sesión de un usuario.

  • @joseurielsalazarzuniga7674
    @joseurielsalazarzuniga7674 4 года назад

    Hola, buen video, de donde sacas tus snippets o como haces esos diseños de los fragmentos de código?, saludos!

    • @JSilvandino
      @JSilvandino Год назад

      Creo que es la extensión "CodeSnap" para Visual Studio Code. No sé si aún sea de ayuda je je je.

  • @davidleonardobernal61
    @davidleonardobernal61 4 года назад

    Hola podrías crear un video para el patrón observer?

  • @JuanmaD
    @JuanmaD 3 года назад

    La recursividad de las instancias. Martin, como me puedo poner en contacto contigo?

  • @charr0max686
    @charr0max686 4 года назад

    loco que buena remera! de donde es?

  • @juankparrado8062
    @juankparrado8062 Год назад +1

    tan chevere

  • @hkfuertes
    @hkfuertes 4 года назад +1

    UNA preguntilla... Usarías Singleton para tener un objeto con las configuraciones del programa?... Es decir una configuración en yaml, que cargas al inicio de la ejecución, y que te quieres olvidar de andar pasando de objeto a objeto ... Crear una clase "config" Singleton, que mapee ese yaml y que puedas recuperar, siempre igual en todo to programa? Algo así como un state management?

    • @JorgeLuis-ts6qp
      @JorgeLuis-ts6qp Год назад

      Mi experiencia con los archivos de configuración se resume en dos acercamientos.
      Lees el archivo cada vez que quieras acceder a una configuración. Para que esto sea viable deberías ser capaz de leer la configuración sin pérdida de tiempo. Si la lectura no es muy rápida pero necesitas acceder a una configuración muchas veces seguidas, léela y guárdala como variable local.
      La otra opción (más parecida a un Singleton) es usar una clase abstracta. No sé qué lenguaje usarás. En Python puedes leer la configuración al iniciar el programa y guardarla en memoria RAM en una clase.

  • @paolobelforte720
    @paolobelforte720 Год назад

    Un ejemplo de uso de Singleton interesante es el del lenguaje Smalltalk con la clase True y False
    Solo hay una instancia "true" y "false"

  • @jsonft5417
    @jsonft5417 4 года назад +2

    Todo bien, hasta que python te da metaclases con las que puedes controlar la instanciación de las instancias de tu clase con mucho más detalle.

  • @MrElmarqueli
    @MrElmarqueli 2 года назад

    Hola que tal, creo que como toda herramienta tiene su uso y esta es de las cuales apuntaría a algo un poco especifica, me parece que se lo ve como antipatron por el hecho de que es eso una herramienta una forma que se debe usar en cosas especificas y claro esta siempre va a depender de la app que estemos creando. En lo personal no descato su uso su aplicacion es mejor decir lo conosco se que hace, que no y sus consecuencias entonces ver si me sirve aplicarlo o no, cero ese es el razonamiento que tenemos que tener. Bueno un saludo a la comunidad y decir que el video esta muy bueno.

  • @joaomr4551
    @joaomr4551 4 года назад

    Un ejemplo de singleton podría considerarse una conexión a una base de datos? Es decir ya no se solicitaría constantemente un ID de conexión, solo mantener el mismo, solo bastaría cerrar y abrir la conexión

    • @joano.b.6966
      @joano.b.6966 4 года назад

      Si. Yo lo utilizaba en php. Abría la conexión, realizaba las operaciones necesarias y la cerraba

  • @cletrop
    @cletrop 4 года назад +3

    Tuve que verlo dos veces una para contar la veces que decias instancia y otra para entender el video 😅😅

    • @BettaTech
      @BettaTech  4 года назад +1

      Me he dejado alguna INSTANCIA? 🤭

  • @cristiangs5127
    @cristiangs5127 Год назад

    Yo había usado clases staticas para manejar datos globales y moverlos de un lado a otro, ahora veo que el singleton seria lo mejor xd

  • @armandoquispeticona2410
    @armandoquispeticona2410 4 года назад +3

    Hola! Me podrías recomendar libros/videos/curso para poder aprender/mejorar en algoritmia para poder resolver problemas :).
    Un saludo y gracias!

  • @matiasgodoy7252
    @matiasgodoy7252 2 года назад

    Una critica constructiva, es que en un video académico (no de comedia) la broma de contar la cantidad de veces que dijiste instancia si bien es graciosa a la vez es distractiva ya que estás intentando aprender un concepto y existe un chiste en segundo plano. Con la aclaración del principio me parece suficiente, de ahí en adelante excelente video!

    • @BettaTech
      @BettaTech  2 года назад

      Gracias por el feedback! Creo que en los vídeos siguientes lo tomé en cuenta y estarán mejor :) Gracias!!!

  • @Ferdinandus_1979
    @Ferdinandus_1979 6 месяцев назад

    Hola, te queria preguntar por ese fondo de pantalla tan chulo que tienes?. De qué es?

  • @cesardmora86
    @cesardmora86 4 года назад

    hater_mode = on
    - aunque el código es simple, no es thread-safe, así que si tienes mala suerte (y por ley de Murphy la tendrás) en algún momento existirá más de una instancia. Sin embargo, detectar un error de esos es muy difícil por no decir que imposible e irreproducible.
    - la variable instance debería ser final para evitar ese tipo de errores; el precio es que hay que sacrificar el lazy-load
    hater_mode = off
    Para mí el problema con todo tipo de patrones de diseño es que hay gente que aprende uno nuevo, y lo usa en los próximos proyectos a diestra y siniestra sin considerar pros y contras

    • @valcron-1000
      @valcron-1000 4 года назад

      El problema de sincronización de threads en la creación de la instancia se puede solucionar utilizando primitivas acorde al lenguaje (por ejemplo, el synchronized de Java junto al uso de locks).
      En los ejemplos dados no puede darse este problema ya que se esta utilizando JS que es single-threaded.
      De todas maneras no recomiendo el uso de un Singleton, y mucho menos en aplicaciones con múltiples hilos.

  • @zarlitoz
    @zarlitoz 4 года назад

    Lo uso en Unity para saltar de escena a escena manteniendo el mismo GameManager. No sé si existe algo mejor para realizar esta tarea (tampoco soy un pro).

  • @yohcg
    @yohcg 2 года назад

    Me cuesta ya trabajado imaginar un caso de uso que no sea lo de leer un fichero. Otro quizá sea el mantener una cache en memoria y así evitar consumir muchas veces un recurso que pudiera alentar la app.

  • @kldas_
    @kldas_ 4 года назад

    Haz uno de cadena de responsabilidad

  • @FranFran7895
    @FranFran7895 4 года назад +1

    Aqui te queria veer jeje ♥

  • @hectorkaizenf.v.7224
    @hectorkaizenf.v.7224 3 года назад

    Hay patrones de diseño para la programación funcional??