Hola Esteban,
[snip]
> Ellas son:
>
> * Quiero crear un tile o morph que funcione de contenedor del nombre
> del producto (Product>>name), y que se vaya actualizando si el nombre
> del producto cambia. Trate con StringMorph y UpdatingStringMorph, pero
> hay algo que estoy pifiando. Sobre todo con UpdatingStringMorph, ya que
> para instanciarlo se utiliza UpdatingStringMorph on: anObject selector:
> aSymbol, pero no se que es selector...
> [INSIGHT!] Listo, resuelto mientras lo preguntaba :-) [*]
Con el tema de los morphs en squeak es muy comun lograr interfaces hibridas
mvc/morph. Eso no es malo "per se", siempre y cuando uno distinga donde se
esta usando un modo o el otro.
El UpdatingStringMorph es mas "morph" y toma lo que necesite de un "modelo"
sin que este colabore. En una triada MVC, el modelo tiene que notificar
del cambio (por algun mecanismo de eventos) para que los objetos
observadores se enteren.
El UpdatingStringMorph pregunta todo el tiempo (ok, cada N ms) al objeto
obsevardo. Esto es muy comodo en algunas situaciones, pero muy preligroso
en otras. Imaginate que tengas 1000 objetos opbservados por 1000
UpdatingStringMorph, imaginate la cantidad de mensajes que se estarian
evaluando todo el tiempo.
Yo suelo tener 1 objeto que hace de VC (View Controller) contra un modelo
(M). Este VC es una especia de Intermediator entre el MVC donde el modelo
sabe participar y los morphs.
> * Cada producto tiene un tipo o clase, preferi llamarlo tipo por una
> cuestion de no generarme lios con el ambiente smalltalk. El tipo es una
> v.i. "type", que corresponde es aProductType. aProductType tiene un
> estructura similar a aProduct, ya que tambien tiene subtypes, que son
> otrosProductTypes.
> Mi pregunta con todo esto es como manejarlos a nivel implementacion
> (existe tal cosa en ST?), si los nombres de los tipos sean Strings,
> ubicados en un ProductTypeList (aDictionary), con su nombre como
key,
> y ellos mismos como value [se puede hacer esto?].
aString y aProductType son Objetos... so, si podes hacer eso.
Igual no entendi bien que parte de la implementacion queres modelar con ese
aDictionary. Necesitas una coleccion de todos los posibles tipos? Que tal
algo asi:
ProductType allSubClasses.
[snip]
> Saludos!
>
> --
> Esteban
Saludos,
Diego