Muchas Gracias Hernán por tu aclaración. Voy a tener en cuenta lo de la inicialización, la verdad que no lo habia pensado lo que pasa que no tengo mucha experiencia en Smalltalk.
Saludos, Marcelo On 23 jul, 16:33, "Hernan Wilkinson" <[EMAIL PROTECTED]> wrote: > Exacto, eso es lo que dice el libro, sin embargo es un libro con algunos > años y varias personas disentimos ahora (no hace unos años atras donde > estabamos de acuerdo) con esa idea. Si te fijas, todo lo que dice sobre > tenerlo en la clase son cuestiones implementativas, no esenciales. > > Respecto de como llevarlo a otra imagen, bueno, todo sistema debe tener una > manera de inicializarse... ahi es cuando se crea la variable (global o quiza > en un scope mas reducido, etc.) > > Hernan. > > On 7/21/07, entrada <[EMAIL PROTECTED]> wrote: > > > > > 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. -~----------~----~----~----~------~----~------~--~---
