2 3 5 Patron De DiseñO Singular (Singleton)

3,857 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,857
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
76
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2 3 5 Patron De DiseñO Singular (Singleton)

  1. 1. 2_3_5 Patrón de Diseño Singular ( Singleton ) Apoyo SSD3
  2. 2. Introducción <ul><li>En algunas aplicaciones, hay clases que deben ser instanciadas una sola vez. </li></ul><ul><li>Por ejemplo, un sistema operativo debe tener solo un sistema de reloj y una compañía debe tener solo un sistema contable. </li></ul>
  3. 3. <ul><li>El patrón de diseño Singular (Singleton) asegura que se cree sólo una instancia de la clase y provee un método para acceder esa única instancia. </li></ul><ul><li>Todos los objetos que utilizan una instancia de una clase Singular utilizan la misma instancia </li></ul>
  4. 4. Estructura Observa que los miembros estáticos de la clase están subrayados .
  5. 5. En este patrón de diseño <ul><li>El atributo estático instance contiene la única instancia de la clase. </li></ul><ul><li>El constructor es definido como private  de modo que las otras clases no puedan crear instancias. </li></ul><ul><li>El método estático getSingletonInstance regresa la única instancia de la clase. </li></ul><ul><li>La primera vez que este método es llamado, crea la única instancia </li></ul>
  6. 7. <ul><li>En la línea 10, la variable estática y privada singletonInstance es inicializada con una instancia de la claseICarnegieInfo —singletonInstance será la única instancia de la clase  ICarnegieInfo  en una aplicación. </li></ul><ul><li>En la línea 22, el constructor es definido como privado, de modo que otras clases no puedan crear instancias deICarnegieInfo . </li></ul>
  7. 9. <ul><li>En la línea 36, la clase define un método estático llamado getSingletonInstance que regresa una referencia a la única instancia de  ICarnegieInfo . </li></ul><ul><li>a primera llamada al método getSingletonInstance crea la única instancia. </li></ul>
  8. 10. Consecuencias <ul><li>El patrón de diseño Singular tiene los siguientes beneficios: </li></ul><ul><ul><li>Una clase Singular puede controlar cómo y cuando el código cliente puede acceder a la única instancia. </li></ul></ul><ul><ul><ul><li>El código cliente no tiene la libertad de utilizar el operador new para crear una instancia de la clase Singular. </li></ul></ul></ul><ul><ul><ul><li>En vez de eso, debe llamar a un método estático que regresa una referencia a la instancia única. </li></ul></ul></ul><ul><ul><li>Una clase Singular puede ser modificada fácilmente si los requerimientos cambian y la aplicación necesita limitar el número de instancias a un número diferente de uno. </li></ul></ul>

×