Está en la página 1de 14

Instancia: 1

Como usar el patrón Singleton

Javier Onishi Sadud


Instancia: 2

El diseño de software presenta


desafíos que necesitan una solución
confiable y reutilizable.
Instancia: 3

¿Qué son los patrones de diseño?

Soluciones
Solucionesprobadas
probadasyyreutilizables
reutilizablespara
paraproblemas
problemascomunes
comunesde
dediseño
diseñode
desoftware
software

Un
Unpatrón
patrónde
dediseño
diseñonos
nosayuda
ayudaaaidentificar
identificarun
unproblema
problemayydefine
defineuna
unasolución
solución

Lo
Lopatrones
patronesde
dediseño
diseñoactuales
actualesfueron
fueronpopularizados
popularizadospor
porel libroDesign
ellibro Designpatterns:
patterns:
elements
elementsof
ofreusable
reusableobject-oriented
object-orientedsoftware
softwarededelos
losautores:
autores:GoF(Gang
GoF(Gangof
ofFour)
Four)
Instancia: 4

Patrón Singleton

El
Elpatrón
patróndedediseño
diseñosingleton
singleton(instancia
(instanciaúnica)
única)está
estádiseñado
diseñadopara
para
restringir la creación de objetos pertenecientes a una clase a
restringir la creación de objetos pertenecientes a una clase a un un
único
únicoobjeto.
objeto.
Su
Su intenciónconsiste
intención consisteen
engarantizar
garantizarque
queuna
unaclase
clasesólo
sólotenga
tengauna
una
instancia y proporcionar un punto
instancia y proporcionar un punto
de
deacceso
accesoglobal
globalaaella.
ella.

Este
Estepatrón
patrónpertenece
perteneceaala
lacategoría
categoríade
delos
lospatrones
patronescreacionales.
creacionales.
Instancia: 5

Patrón Singleton

Donde
Dondese
seutiliza
utilizaesto
esto??
Instancia: 6

Patrón Singleton
Ejemplo: JAVA

Declaración del objeto instancia de la clase Conexion

Constructor de ámbito privado

Obtener la instancia unicamente por este método

Conexion c = new Conexion();


Instancia: 7

Patrón Singleton
Sistema de Módulos en Node.js

Proporciona
Proporcionaun
unmarco
marcobásico
básicopara
paracrear
crear
un singleton rudimentario
un singleton rudimentario

Cuando
Cuandoeste
estemodulo
moduloseseimporta
importaaatravés
travésde
de
múltiples archivos o varias veces en una
múltiples archivos o varias veces en una
aplicación,
aplicación,solo
solose
secrea
creauna
unainstancia
instanciaúnica
únicayy
se
sehace
hacereferencia
referenciaaaella
ella

Caché
Caché

ModuloA.js
ModuloA.js ModuloA.js
ModuloA.js
Instancia: 8

Patrón Singleton
Pueden ser de dos formas en Node.js, de tipo objeto con objetos literales y de tipo clases
Instancia: 9

Patrón Singleton
Pueden ser de dos formas en Node.js, de tipo objeto con objetos literales y de tipo clases
Instancia: 10

Patrón Singleton
Node.js
Instancia: 11

Inconvenientes de este patrón


(no existe ningún patrón perfecto).

Es
Esuna
unamala
malapráctica
práctica??

Mantienen
Mantienenel
elestado
estadoaalo
lolargo
largode
detoda
todala
lavida
vidade
dela
laaplicación
aplicación
Instancia: 12

Conclusiones

El
Elbeneficio
beneficioes
esen
enel
elrendimiento,
rendimiento,especialmente
especialmenteen
enmemoria
memoria

Resulta
Resultaútil
útilúnicamente
únicamentecuando
cuandonecesitamos
necesitamosque
queun
unobjeto concreto
objeto concretoyy
exacto
exacto

Debemos
Debemostener
tenerespecial
especialcuidado
cuidadoen
enel
elmanejo
manejode
desu
suestado
estado
Instancia: 13

Bibliografía


● https://refactoring.guru/design-patterns/singleton
https://refactoring.guru/design-patterns/singleton

● https://www.tutorialspoint.com/design_pattern/singleton_pattern.htm
https://www.tutorialspoint.com/design_pattern/singleton_pattern.htm

● https://sourcemaking.com/design_patterns/
https://sourcemaking.com/design_patterns/

● http://www.etnassoft.com/2011/05/20/el-patron-singleton-en-javascript/
http://www.etnassoft.com/2011/05/20/el-patron-singleton-en-javascript/

También podría gustarte