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