Autor |
Mensaje |
sulky16v2
|
Duda Con Singleton
Gente una pregunta alguien probo hacer el Diseño de patrón Singleton en gambas? estaba tratando de hacerlo y no me doy cuenta de como hacer el objeto para instancia única, en vb seria algo
Private Shared _instancia As Singleton = Nothing
Estoy trancado con ese tema y no se como resolverlo jaja saludos.
|
#1 Martes, 19 Abril 2016, 03:18 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Duda Con Singleton
sulky16v2:
Citar: probo hacer el Diseño de patrón Singleton en gambas?
Esta implementado en el gambas.. son los módulos.
Saludos
|
#2 Martes, 19 Abril 2016, 06:35 |
|
|
sulky16v2
|
Re: Duda Con Singleton
sulky16v2:
Citar: probo hacer el Diseño de patrón Singleton en gambas?
Esta implementado en el gambas.. son los módulos.
Saludos
Si te soy sincero, no logre comprenderte, yo estoy tratando de hacerlo a mano como se hace en otros lenguajes pero tal vez lo estoy haciendo mal.
|
#3 Martes, 19 Abril 2016, 18:25 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Duda Con Singleton
sulky16v2:
Citar: no me doy cuenta de como hacer el objeto para instancia única
Ten encuenta que un módulo, solo existe uno en la aplicación, no se puede instanciar y crear nuevas "copias" del mismo.
Por eso cumple con el patron Singleton
|
#4 Martes, 19 Abril 2016, 19:45 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Duda Con Singleton
Puedes crear una clase nueva, y si pones al principio del código de esa clase "Create Static" tendrás una clase estática, que no se puede instanciar. O sea, lo mismo que un módulo.
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#5 Martes, 19 Abril 2016, 23:00 |
|
|
sulky16v2
|
Re: Duda Con Singleton
Puedes crear una clase nueva, y si pones al principio del código de esa clase "Create Static" tendrás una clase estática, que no se puede instanciar. O sea, lo mismo que un módulo.
Saludos
muchas gracias, aunque siendo sincero creo que no es lo que busco, yo lo que busco es hacer algo asi:
Public Class Singleton
Private Sub New() 'CONSTRUCTOR
End Sub
Private Shared instancia As Singleton = Nothing
Public Shared Function getInstancia As Singleton
If instancia Is Nothing Then
instancia = New Singleton()
End If
Return instancia
End Function
End Class
Esto lo quiero hacer para hacer una colección de instancia única y simular una fachada (que va de la mano con singleton) para crear metodos de altas bajas consultas y modificaciones. Perdón si no me soy bien explicando, soy nuevo en gambas.
|
#6 Miercoles, 20 Abril 2016, 01:28 |
|
|
vicr
Técnico Programador
Registrado: Septiembre 2013
Mensajes: 158
Edad: 47
|
Re: Duda Con Singleton
Espero que esta manera de simplificar las definiciones no genere problemas o una percepción errada...
Una manera de entender la utilidad de una clase singleton es comparable con el uso de variables globales que necesitarás a lo largo del programa. Singleton con mucha verborrea lo hace en java abstrayendo/encapsulando con metodos y funciones... en gambas sin mucha verborrea lo haces con un Modulo. Allí pon tus variables publicas o privadas con modificadores y accesadores, y lo tendrás disponible en tu programa.
Shordi tiene algunos ejemplos o programas más completos (impresiom html... para citar uno) allí puedes ver como hizo la conexión a la bd y otras cosas, con un modulo.
Saludos...
|
#7 Miercoles, 20 Abril 2016, 03:38 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Duda Con Singleton
sulky16v2:
Citar: Public Class Singleton
Private Sub New() 'CONSTRUCTOR
End Sub
Private Shared instancia As Singleton = Nothing
Public Shared Function getInstancia As Singleton
If instancia Is Nothing Then
instancia = New Singleton()
End If
Return instancia
End Function
End Class
Eso mismo en un módulo en gambas.
|
#8 Miercoles, 20 Abril 2016, 06:52 |
|
|
sulky16v2
|
Re: Duda Con Singleton
Espero que esta manera de simplificar las definiciones no genere problemas o una percepción errada...
Una manera de entender la utilidad de una clase singleton es comparable con el uso de variables globales que necesitarás a lo largo del programa. Singleton con mucha verborrea lo hace en java abstrayendo/encapsulando con metodos y funciones... en gambas sin mucha verborrea lo haces con un Modulo. Allí pon tus variables publicas o privadas con modificadores y accesadores, y lo tendrás disponible en tu programa.
Shordi tiene algunos ejemplos o programas más completos (impresiom html... para citar uno) allí puedes ver como hizo la conexión a la bd y otras cosas, con un modulo.
Saludos...
sulky16v2:
Citar: Public Class Singleton
Private Sub New() 'CONSTRUCTOR
End Sub
Private Shared instancia As Singleton = Nothing
Public Shared Function getInstancia As Singleton
If instancia Is Nothing Then
instancia = New Singleton()
End If
Return instancia
End Function
End Class
Eso mismo en un módulo en gambas.
Muchas gracias a todos los que comentaron y me ayudaron a comprender como funcionan las cosas en gambas, estoy muy agradecido con todos, un saludo grande gente.
|
#9 Jueves, 21 Abril 2016, 12:15 |
|
|
|