Patrón Singleton:
Ejemplo: creando log
El Patrón Singleton también se conoce como Instancia única, su objetivo es restringir la creación de objetos pertenecientes a una clase, de modo que solo se tenga una única instancia de la clase para toda la aplicación, garantizando así un punto de acceso global al objeto creado.Como observareis, en Gambas3, ya tenemos implementado ese patrón con el uso de los módulos (module).
Incluso, si lo queremos aplicar a una clase, usaríamos la orden Create Static, para convertirla en clase tipo Singleton.
Este patrón es muy útil cuando necesitamos crear un clase común y global para todo el sistema.
Ejemplo:
Vamos a crear una aplicación que haga un log (un registro) de las acciones de los usuarios en los formularios (pulsar botones). Para ello usaremos una clase singleton (ClaseLogSingleton) que será la encargada de almacenar lo que hagan los usuarios.
Proyecto
Clase ClaseLogSingleton:
Clase PersonaVo:
Clase Main:
Clase (formulario) VentanaPrincipal
Clase (formulario) VentanaLog:
Ejemplo de la aplicación:
enlace de descarga del ejemplo completo: enlace de descarga
Fuentes:
http://codejavu.blogspot.com.es/2013/07/ejemplo-patron-singleton.html
Documentación: http://gambasdoc.org/help/lang/createstatic?es&v3