Hola Hernán,

Gracias por tu consejo. Lo voy a tener en cuenta.
No soy un experto en esto para opinar, pero habia leido en el
documento que indique mas arriba, esto:
.."Routing all accesses to a Singleton through a single class method
is preferable to a global (variable) because the method provides a
single point of access. The only way to
get to the Singleton instance is by sending a message to the class. In
this method, the class takes responsibility for the Singleton instance
-when it's created, how
it's initialized, when it's released for garbage collection -as well
as preventing the creation of multiple instances. A global variable
can't do any of this.
Despite these drawbacks, many Singletons accessible only through
global variables exist in the various Smalltalk environments and have
served users for years. Design Patterns states that Singletons
accessed through global variables are not really examples of the
Singleton pattern. One might argue that these other examples are
Singletons and they're just not implemented optimally."

Por eso pensé que no era la mejor forma de llevarlo como variable
global...

Otra cosita que yo veo, no se si estoy en lo cierto, si lo tengo
dentro de una clase, puedo mas facilmente hacer un file out de mi
aplicacion y llevarla a otro pc, no sé como me doy cuenta que existe
una variable global en Smalltalk que pertenece a mi sistema, sino lo
tengo escrito en algun lado.


saludos,
Marcelo


On 20 jul, 17:01, "Hernan Wilkinson" <[EMAIL PROTECTED]>
wrote:
> Perdon que me meta en el medio de la conversacion, mas cuando no lei sobre
> ella, solo vi aca que nombraban al Singleton y queria meter unos puchitos de
> lo que pienso de ese patron sino molesta.
> Para mi ese patron es implementativo, no tiene sentido como se lo presenta
> en el GOF. Como es implementativo deberia estar oculto y no estar expuesto
> al resto de los que usan esa clase. Es por eso que nosotros lo que haces es
> redefinir el #new para que siempre devuelva el mismo objeto, pero nadie sabe
> eso y si es necesario cambiarlo nadie se entera.
> A veces es mejor tener un objeto globar bien conocido que usar un singleton.
> Por lo que vi abajo quieren poder acceder a la empresa del sistema, bueno,
> yo eso lo resolveria con una variable global "EmpresaActual" o algo asi, o
> porque no, con el nombre de la empresa, por ejemplo "EmpresaXXX"
> De esta manera puedo en la misma imagen (o base de objetos) tener varias
> empresas y todo deberia funcionar bien. Usando el singleton todo se limita a
> un objeto lo cual es muy restrictivo.
>
> Bueno, espero no haberme ido mucho de contexto
> Saludos,
> Hernan.
>
> On 7/20/07, entrada <[EMAIL PROTECTED]> wrote:
>
>
>
> > Gallego,
>
> > Encontré un documento donde explica el singleton
> >http://web.cecs.pdx.edu/~black/OOP/papers/Alpert%20Singleton.pdf
>
> > Y agregué un metodo de clase UniqueInstance a la empresa que me
> > devuelve la empresa.
>
> > Pero todavia no encuentro como resolver el tema de las categorias, o
> > por lo menos cual sería la forma mas prolija.
> > Como explico en el primer post creo una tarifa nueva y deseo ver la
> > lista de categorias, ahora en ese punto no encuentro qué usar de
> > referencia para que me devuelva las categorias que pertenecen a una
> > estacion de peaje, para poder hacer esto deberia traer hasta este
> > punto el objeto estacion para poder pedirle las categorias, que es
> > casi lo mismo que traer las categorias desde el metodo crear: de la
> > tarifa.
>
> > Es decir que tengo en el metodo estacion agregarTarifa:
> > tarifa crear: categorias.
>
> > La unica forma que veo de reemplazarlo es que estacion agregarTarifa
> > sea:
> > tarifa crear: self.
> > y despues al ver la lista de categorias llamar a un metodo
> > mostrarCategorias que incluya:
> > ^SistemaDePeaje darCategorias: estacion.
>
> > otra forma no encuentro.
>
> > Sino se entiende lo trato de explicar mejor...
>
> > Desde ya, muchas gracias.
> > Marcelo
>
> > On 17 jul, 13:37, GallegO <[EMAIL PROTECTED]> wrote:
> > > Marcelo:
>
> > > Te conviene usar un Singleton de la empresa actual, o tu sistema, o tu
> > > sesion de usuario (el que está editando), para saber cuales son las
> > > categorias de tarifa para una Empresa determinada. La forma en que
> > > determines esto dependerá de los requerimientos.
> > > Eso es la implementación como para cumplir con los requerimientos del
> > > TP, no significa que sea la ideal.
>
> > > Otra alternativa es que siempre pases a todos los editores el modelo a
> > > editar + un objeto que maneje un "contexto" al cual pedirle todos esos
> > > otros objetos que necesitas para completar la edición. Esto es bastante
> > > incomodo y personalmente nunca lo usé.
>
> > > Creo que la mejor solucion viene por el lado de conocer la sesión de
> > > usuario del proceso actual. Me gustaria saber que opina el resto de la
> > > lista de esto último.
>
> > > Creo que para tu caso de TP alcanza con el Singleton (busca como se
> > > implementa en Internet o en el mismo VS la clase... por ej.
> > > SessionModel, del lado de clase el método #current), si no entendes nada
> > > volvé a preguntar :D
>
> > > Saludos
> > >   GallegO
>
> > > SistemaPeajes
> > > entrada escribió:
>
> > > > Hola Gente,
>
> > > > Tengo esta consulta a ver si alguien me puede ayudar con VS 3.0.1...
>
> > > > Tengo una Clase Empresa que tiene un orderedCollection de estaciones
> > > > de peaje que posee la empresa.
> > > > La Clase Estacion contiene los orderedCollection tarifas y categorias,
> > > > para contener las tarifas disponibles para una estacion.
>
> > > > Tambien tengo las clases Tarifa y Categoria:
>
> > > > Tarifa
> > > > categoria
> > > > importe
> > > > FechaVigenciaDesde
> > > > FechaVigenciaHasta
>
> > > > Categoria
> > > > codigo
> > > > descripción
>
> > > > Ahora bien.
> > > > Tengo un PartsWindow EditorTarifa, que me permite agregar una nueva
> > > > tarifa, y que es llamado desde el metodo estacion agregarTarifa,
> > > > EditorTarifa tiene los campos categoria, importe, FechaVigenciaDesde y
> > > > FechaVigenciaHasta...
> > > > Ahora lo que yo quiero hacer es agregar un botón en el EditorTarifa
> > > > que me muestre la lista de categorias disponibles en esa estacion. Lo
> > > > que no sé es de donde traer la lista de categorias de la estacion.
> > > > Algo que hice fue en el crear de la clase Tarifa, pasar la lista de
> > > > categorias a la clase, para que despues esta lista llegue hasta la
> > > > ventana del EditorTarifa y poder pasarla a la lista de
> > > > categorias...pero me parece que no es lo correcto. (aparte por alguna
> > > > razon no me muestra la lista)
> > > > Pero de echo cuando edito la tarifa, no sé a que estacion pertenece
> > > > salvo que le pase un objeto estacion para saber de que estacion es y
> > > > llamar a un metodo estacion seleccionarCategoria...pero tampoco me
> > > > parece bien.
>
> > > > en fin.. el echo es que no se como hacer para llevar la lista de
> > > > categorias hasta el objeto tarifa y poder seleccionar a que categoria
> > > > corresponde la tarifa que estoy agregando...
>
> > > > Otra que se me habia ocurrido es, eliminar el objeto categoria, y
> > > > tener en el objeto tarifa la categoria como un string y chequear al
> > > > agregar una tarifa que el campo categoria no se repita con alguno que
> > > > ya existe...
>
> > > > bue, espero que se entienda algo....sino trato de explicarlo mejor...
>
> > > > desde ya muchas gracias por leer este choclo...
>
> > > > saludos.
> > > > Marcelo


--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "clubSmalltalk" de 
Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/clubSmalltalk?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a