SlideShare una empresa de Scribd logo
1 de 26
Patrones Creacionales
Programación Orientada a Objetos
Agenda
PATRONES DE DISEÑO
 1. Introducción
 2. Definición
 3. Objetivos de los patrones
 4. Categorías de patrones
 5. Estructuras o plantillas de patrones
Patrones de Creación
 Facilitan y simplifican la creación de objetos
 Permiten crear objetos sin definir la clase
concreta, sólo el interfaz que debe implementar
 Permiten reutilizar otros objetos en vez de crear
nuevos debido a restricciones o eficiencia
Patrones de Creación
 Singleton (Único)
 Restringe la creación de un único objeto de una
clase en todo el sistema y permite acceder a él
 Factory Method (Método Factoría)
 Define un método para la creación de objetos
además del constructor
 Builder (Constructor)
 Simplifica la construcción de objetos complejos
definiendo una clase cuya responsabilidad es crear
objetos de otras clases
Patrones de Creación
 Abstract Factory (Fábrica Abstracta)
 Permite crear objetos de un conjunto de clases
relacionadas pero sin especificar la clase concreta,
solo el interfaz
 Prototype (Prototipo)
 Define clases cuyos objetos pueden clonarse
PATRON SINGLETON
 La oficina de la
presidencia de los
Estados Unidos es un
ejemplo de un
Singleton, ya que
puede haber como
máximo un presidente
activo en cualquier
momento dado.
Independientemente de
quién ejerza la función,
el título "El Presidente
de los Estados Unidos"
es un punto de
PATRON SINGLETON
 La oficina de la presidencia de los Estados Unidos
corresponde a Singleton
 La oficina cuenta con una instancia operador (el título de
presidente de los Estados Unidos), que proporciona
acceso a la persona en la oficina
 En cualquier momento, a lo sumo una instancia única del
Presidente existe
 El título de la oficina ofrece un acceso controlado a una
única instancia de presidente
 Desde la oficina de la Presidencia encapsula al
presidente, hay un control estricto sobre cómo y cuando
el presidente puede acceder
PATRON SINGLETON
 PROBLEMA
 Queremos tener sólo uno de un objeto, pero no hay
ningún objeto global que controle la instanciación de
este objeto
 Varios diferentes objetos cliente necesitan referirse a
la misma cosa y queremos asegurarnos de que no
tenemos más que uno de ellos
 Los objetos necesitan puntos de acceso globales y
únicos
 SOLUCION
 El Patrón Singleton asegura que una clase tiene solo
una instancia y provee un punto de acceso global a
ésta.
Patrones de Creación
Singleton (Único)
 Propiedades
 Tipo: Creación, Nivel: Objeto
 Propósito
 Permite tener una única instancia de esta clase en
el sistema, y permite que todas las clases tengan
acceso a esa instancia
 La idea del patrón Singleton es proveer un
mecanismo para limitar el número de instancias de
una clase. Por lo tanto el mismo objeto es siempre
compartido por distintas partes del código. Busca
garantizar que una clase sólo tenga una instancia y
proporcionar un punto de acceso global a ella.
Patrones de Creación
Singleton (Único)
 Introducción
 Hay veces que se necesita esta funcionalidad
 Por ejemplo: Un histórico de todas las acciones que
realiza el usuario en la aplicación. Desde todas las
clases se necesita usar el mismo objeto HistoryList
 Se podría crear un único objeto y pasar ese objeto como
parámetro a todos los demás objetos. Puede no saberse
a priori quien va a necesitar el objeto y puede ser
complejo estar pasándolo constantemente. Sólo con
documentación se puede obligar a que nadie más cree
un objeto HistoryList
Patrones de Creación
Singleton (Único)
 Introducción…
 Se podría crear el objeto al inicio y colocarlo en un
atributo estático. Pero no se podría proporcionar
ninguna información de inicialización justo cuando
vaya a usarse y no se puede controlar quien
accede al objeto
Patrones de Creación
Singleton (Único)
 Aplicabilidad
 Cuando debe haber exactamente una instancia de una clase y
deba ser accesible globalmente
 Garantiza la existencia de una única instancia para una clase
y la creación de un mecanismo de acceso global a dicha
instancia
 Es mas común cuando se requiere representar objetos
unívocos. Por ejemplo, si hay un servidor que necesita ser
representado mediante un objeto, este debería ser único, es
decir, debería existir una sola instancia y el resto de las clases
deberían de comunicarse con el mismo servidor. Un Calendario,
por ejemplo, también es único para todos.
 No debe utilizarse cuando una clase es representado a un
objeto que no es único, por ejemplo, la clase Persona ya que
representa a una persona real y cada persona tiene su propio
nombre, edad, domicilio, etc.
Patrones de Creación
Singleton (Único)
 Descripción
 Asegura crear como máximo una instancia de un objeto.
Esta instancia es accedida mediante un método de la
clase.
 Ponga el constructor privado
 Los clientes (quienes quieren acceder a la case Singleton)
acceden a la única instancia mediante un método llamada
getInstance();
 El método público estático getInstance() devuelva
el objeto. Este método crea la instancia si no se ha
creado todavía, la guarda como un atributo estático
privado y la devuelve
 Se puede crear el objeto directamente sobre el atributo
estático
Patrones de Creación
Singleton (Único)
 Implementación
 Clase que tiene privado el
constructor, mantiene una
referencia estática al único
objeto de la clase y proporciona
un método estático
getInstance() para que
otras clases accedan al único
objeto
 El resto de la implementación
es completamente normal
P. Creacional: Singleton
Ejemplo
 USTax es el Singleton y solo puede haber una
instancia de impuesto de una transacción dada
en un momento
 Calculadora es el cliente que utiliza la instancia
de USTax para obtener el total de la venta
 USTax tiene una instancia operador que provee
acceso al impuesto aplicable a cualquier
transacción de ventas particular
 USTax es encapsulado, por lo tanto hay un
estricto control sobre su acceso
Diagrama de clase
Calculator
public class Calculator {
public static void main(String[] args) {
USTax tax = USTax.getInstance();
tax.salesTotal();
}
}
USTax
public class USTax {
private static USTax instance;
private USTax()
{};
public static USTax getInstance()
{
if (instance== null)
instance= new USTax();
return instance;
}
public float salesTotal()
{
return 2500;
}
}
Patrones de Creación
Singleton (Único)
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class HistoryList {
private static HistoryList instance = new HistoryList();
private List history = new ArrayList();
private HistoryList() {
}
public static HistoryList getInstance() {
return instance;
}
public void addCommand(String command) {
history.add(command);
}
public Object undoCommand() {
return history.remove(history.size() - 1);
}
...
}
Patrones de Creación
Singleton (Único)
 Ventajas
 La clase Singleton es la única que puede crear objetos
de la clase, asegurando la unicidad
 No se necesita pasar la referencia a todos los objetos
que la necesiten, simplificando el desarrollo y haciendo
la aplicación más mantenible
 Inconvenientes
 Puede tener problemas en aplicaciones con muchos
hilos de ejecución y con una única instancia
 Si en el sistema evoluciona y se necesitan más
instancias de la clase, habría que cambiar todos los
accesos a la clase Singleton
Patrones de Creación
Singleton (Único)
 Variaciones del patrón
 Mantener varias instancias que pueden ser
obtenidas con versiones con parámetros del
método getInstance(...)
 Cuando existen múltiples instancias, pueden ser de
clases hijas diferentes dependiendo de los
parámetros
Patrones de Creación
Singleton (Único)
 Patrones relacionados
 Abstract Factory (Factoría Abstracta)
 Builder (Constructor)
 Prototype (Prototipo)
Patrones de Creación
Singleton (Único)
 Patrón Singleton en la API de Java
 Clase java.awt.Toolkit
 Variación del patrón porque Toolkit es abstracta y la
instancia devuelta es de una clase hija
 El método es getDefaultToolkit()
 Clase java.lang.Runtime
 El método es getRuntime()
 Clase java.text.DateFormat
 Variación del patrón porque DateFormat es abstracta
 Tiene varios métodos con varias instancias
getDateInstance(), getDateInstance(int
style), getDateTimeInstance(), …
Ejemplos
Dos interesantes ejemplos que aclaran el concepto
del patrón Singleton
 http://www.youtube.com/watch?v=f_KJScnY7TA
DEBER
Realizar los siguientes ejercicios tanto en Java
como en C#
 Dos ejercicios del video visto
 Ejercicio del Instituto Educativo que lo encuentra
en:
http://migranitodejava.blogspot.com/search/label/Si
ngleton

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
Clúster de alta Disponibilidad
Clúster de alta DisponibilidadClúster de alta Disponibilidad
Clúster de alta Disponibilidad
 
Bases de datos orientadas a objetos
Bases de datos orientadas a objetosBases de datos orientadas a objetos
Bases de datos orientadas a objetos
 
Ejercicio no. 8 aeropuerto
Ejercicio no. 8 aeropuertoEjercicio no. 8 aeropuerto
Ejercicio no. 8 aeropuerto
 
El Modelo Relacional de Datos
El Modelo Relacional de DatosEl Modelo Relacional de Datos
El Modelo Relacional de Datos
 
VISTAS
VISTASVISTAS
VISTAS
 
MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADOR
 
Alice 8
Alice 8Alice 8
Alice 8
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
2.4 herramientas case
2.4 herramientas case2.4 herramientas case
2.4 herramientas case
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Crear vistas en microsoft access
Crear vistas en microsoft accessCrear vistas en microsoft access
Crear vistas en microsoft access
 
Historia de la tecnologia de base de datos
Historia de la tecnologia de base de datosHistoria de la tecnologia de base de datos
Historia de la tecnologia de base de datos
 
Vistas
VistasVistas
Vistas
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Alice 11
Alice 11Alice 11
Alice 11
 
Arquitectura cliente
Arquitectura cliente Arquitectura cliente
Arquitectura cliente
 
Tema 11 expresiones regulares en java por gio
Tema 11   expresiones regulares en java por gioTema 11   expresiones regulares en java por gio
Tema 11 expresiones regulares en java por gio
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
 

Similar a Patrones Creacionales: Singleton

Similar a Patrones Creacionales: Singleton (20)

Transparencias_Patrones.ppt
Transparencias_Patrones.pptTransparencias_Patrones.ppt
Transparencias_Patrones.ppt
 
Patron Singleton
Patron SingletonPatron Singleton
Patron Singleton
 
Presentacion Patrones Creacionales
Presentacion Patrones CreacionalesPresentacion Patrones Creacionales
Presentacion Patrones Creacionales
 
Patrones de diseño Singleton
Patrones de diseño SingletonPatrones de diseño Singleton
Patrones de diseño Singleton
 
2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)
 
Patrones
PatronesPatrones
Patrones
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo
 
Abstract Factory
Abstract FactoryAbstract Factory
Abstract Factory
 
Patrones Creacionales
Patrones CreacionalesPatrones Creacionales
Patrones Creacionales
 
Patron de diseño
Patron de diseñoPatron de diseño
Patron de diseño
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)
 
INFOGRAFIA.pdf
INFOGRAFIA.pdfINFOGRAFIA.pdf
INFOGRAFIA.pdf
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
 

Último

Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 

Último (7)

Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 

Patrones Creacionales: Singleton

  • 2. Agenda PATRONES DE DISEÑO  1. Introducción  2. Definición  3. Objetivos de los patrones  4. Categorías de patrones  5. Estructuras o plantillas de patrones
  • 3. Patrones de Creación  Facilitan y simplifican la creación de objetos  Permiten crear objetos sin definir la clase concreta, sólo el interfaz que debe implementar  Permiten reutilizar otros objetos en vez de crear nuevos debido a restricciones o eficiencia
  • 4. Patrones de Creación  Singleton (Único)  Restringe la creación de un único objeto de una clase en todo el sistema y permite acceder a él  Factory Method (Método Factoría)  Define un método para la creación de objetos además del constructor  Builder (Constructor)  Simplifica la construcción de objetos complejos definiendo una clase cuya responsabilidad es crear objetos de otras clases
  • 5. Patrones de Creación  Abstract Factory (Fábrica Abstracta)  Permite crear objetos de un conjunto de clases relacionadas pero sin especificar la clase concreta, solo el interfaz  Prototype (Prototipo)  Define clases cuyos objetos pueden clonarse
  • 6. PATRON SINGLETON  La oficina de la presidencia de los Estados Unidos es un ejemplo de un Singleton, ya que puede haber como máximo un presidente activo en cualquier momento dado. Independientemente de quién ejerza la función, el título "El Presidente de los Estados Unidos" es un punto de
  • 7. PATRON SINGLETON  La oficina de la presidencia de los Estados Unidos corresponde a Singleton  La oficina cuenta con una instancia operador (el título de presidente de los Estados Unidos), que proporciona acceso a la persona en la oficina  En cualquier momento, a lo sumo una instancia única del Presidente existe  El título de la oficina ofrece un acceso controlado a una única instancia de presidente  Desde la oficina de la Presidencia encapsula al presidente, hay un control estricto sobre cómo y cuando el presidente puede acceder
  • 8. PATRON SINGLETON  PROBLEMA  Queremos tener sólo uno de un objeto, pero no hay ningún objeto global que controle la instanciación de este objeto  Varios diferentes objetos cliente necesitan referirse a la misma cosa y queremos asegurarnos de que no tenemos más que uno de ellos  Los objetos necesitan puntos de acceso globales y únicos  SOLUCION  El Patrón Singleton asegura que una clase tiene solo una instancia y provee un punto de acceso global a ésta.
  • 9. Patrones de Creación Singleton (Único)  Propiedades  Tipo: Creación, Nivel: Objeto  Propósito  Permite tener una única instancia de esta clase en el sistema, y permite que todas las clases tengan acceso a esa instancia  La idea del patrón Singleton es proveer un mecanismo para limitar el número de instancias de una clase. Por lo tanto el mismo objeto es siempre compartido por distintas partes del código. Busca garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella.
  • 10. Patrones de Creación Singleton (Único)  Introducción  Hay veces que se necesita esta funcionalidad  Por ejemplo: Un histórico de todas las acciones que realiza el usuario en la aplicación. Desde todas las clases se necesita usar el mismo objeto HistoryList  Se podría crear un único objeto y pasar ese objeto como parámetro a todos los demás objetos. Puede no saberse a priori quien va a necesitar el objeto y puede ser complejo estar pasándolo constantemente. Sólo con documentación se puede obligar a que nadie más cree un objeto HistoryList
  • 11. Patrones de Creación Singleton (Único)  Introducción…  Se podría crear el objeto al inicio y colocarlo en un atributo estático. Pero no se podría proporcionar ninguna información de inicialización justo cuando vaya a usarse y no se puede controlar quien accede al objeto
  • 12. Patrones de Creación Singleton (Único)  Aplicabilidad  Cuando debe haber exactamente una instancia de una clase y deba ser accesible globalmente  Garantiza la existencia de una única instancia para una clase y la creación de un mecanismo de acceso global a dicha instancia  Es mas común cuando se requiere representar objetos unívocos. Por ejemplo, si hay un servidor que necesita ser representado mediante un objeto, este debería ser único, es decir, debería existir una sola instancia y el resto de las clases deberían de comunicarse con el mismo servidor. Un Calendario, por ejemplo, también es único para todos.  No debe utilizarse cuando una clase es representado a un objeto que no es único, por ejemplo, la clase Persona ya que representa a una persona real y cada persona tiene su propio nombre, edad, domicilio, etc.
  • 13. Patrones de Creación Singleton (Único)  Descripción  Asegura crear como máximo una instancia de un objeto. Esta instancia es accedida mediante un método de la clase.  Ponga el constructor privado  Los clientes (quienes quieren acceder a la case Singleton) acceden a la única instancia mediante un método llamada getInstance();  El método público estático getInstance() devuelva el objeto. Este método crea la instancia si no se ha creado todavía, la guarda como un atributo estático privado y la devuelve  Se puede crear el objeto directamente sobre el atributo estático
  • 14. Patrones de Creación Singleton (Único)  Implementación  Clase que tiene privado el constructor, mantiene una referencia estática al único objeto de la clase y proporciona un método estático getInstance() para que otras clases accedan al único objeto  El resto de la implementación es completamente normal
  • 16. Ejemplo  USTax es el Singleton y solo puede haber una instancia de impuesto de una transacción dada en un momento  Calculadora es el cliente que utiliza la instancia de USTax para obtener el total de la venta  USTax tiene una instancia operador que provee acceso al impuesto aplicable a cualquier transacción de ventas particular  USTax es encapsulado, por lo tanto hay un estricto control sobre su acceso
  • 18. Calculator public class Calculator { public static void main(String[] args) { USTax tax = USTax.getInstance(); tax.salesTotal(); } }
  • 19. USTax public class USTax { private static USTax instance; private USTax() {}; public static USTax getInstance() { if (instance== null) instance= new USTax(); return instance; } public float salesTotal() { return 2500; } }
  • 20. Patrones de Creación Singleton (Único) import java.util.ArrayList; import java.util.Collections; import java.util.List; public class HistoryList { private static HistoryList instance = new HistoryList(); private List history = new ArrayList(); private HistoryList() { } public static HistoryList getInstance() { return instance; } public void addCommand(String command) { history.add(command); } public Object undoCommand() { return history.remove(history.size() - 1); } ... }
  • 21. Patrones de Creación Singleton (Único)  Ventajas  La clase Singleton es la única que puede crear objetos de la clase, asegurando la unicidad  No se necesita pasar la referencia a todos los objetos que la necesiten, simplificando el desarrollo y haciendo la aplicación más mantenible  Inconvenientes  Puede tener problemas en aplicaciones con muchos hilos de ejecución y con una única instancia  Si en el sistema evoluciona y se necesitan más instancias de la clase, habría que cambiar todos los accesos a la clase Singleton
  • 22. Patrones de Creación Singleton (Único)  Variaciones del patrón  Mantener varias instancias que pueden ser obtenidas con versiones con parámetros del método getInstance(...)  Cuando existen múltiples instancias, pueden ser de clases hijas diferentes dependiendo de los parámetros
  • 23. Patrones de Creación Singleton (Único)  Patrones relacionados  Abstract Factory (Factoría Abstracta)  Builder (Constructor)  Prototype (Prototipo)
  • 24. Patrones de Creación Singleton (Único)  Patrón Singleton en la API de Java  Clase java.awt.Toolkit  Variación del patrón porque Toolkit es abstracta y la instancia devuelta es de una clase hija  El método es getDefaultToolkit()  Clase java.lang.Runtime  El método es getRuntime()  Clase java.text.DateFormat  Variación del patrón porque DateFormat es abstracta  Tiene varios métodos con varias instancias getDateInstance(), getDateInstance(int style), getDateTimeInstance(), …
  • 25. Ejemplos Dos interesantes ejemplos que aclaran el concepto del patrón Singleton  http://www.youtube.com/watch?v=f_KJScnY7TA
  • 26. DEBER Realizar los siguientes ejercicios tanto en Java como en C#  Dos ejercicios del video visto  Ejercicio del Instituto Educativo que lo encuentra en: http://migranitodejava.blogspot.com/search/label/Si ngleton