¿Dependencias y acoplamiento?¿no-lightweight? Pero si son solo 2 clases... :)
A ver, yo no digo que esto sea un "best practice" ni que sea una solucion super flexible de trabajo. Simplemente son 2 clases para heredar y que ofrecen unos servicios que normalmente uso en los menus como asociar un sonido, rollovers, estilos y datos asociados al boton. En ningun caso es un framework para hacer menús. Para eso ya esta el framework v2, pero no es lightweight, jejeje. En este caso lo unico que queria es enseñaros unas clases pensadas con la productividad y rapidez de uso en la cabeza que me ayudan en cada proyecto y que realmente les tengo mucho cariño. Normalmente el 95% de los menus que hago consta de un texto que cambia de estilo y algun elemento extra, como el fondo, que tambien cambia. Normalmente tambien me gusta tenerlos colocados en linea de tiempo y que hagan algun sonido. Estas clases me resuelven eso de una manera bastante sencilla, si miras las clases derivadas lo verás. Seguro que no son las clases mas flexibles del mundo, de hecho no estan pensadas para ello, sino para seguir un metodo de trabajo (tener un campo con un nombre determinado, un clip con un nombre determinado...etc) Heredar de MovieClip es la forma mas sencilla y comoda de trabajar, en mi opinion. Aunque estoy de acuerdo en que pierdes flexibilidad. Un saludo, Joseba > -----Mensaje original----- > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] En nombre de Manuel de la Higuera > Enviado el: viernes, 16 de junio de 2006 18:47 > Para: 'Lista dedicada a Actionscript' > Asunto: RE: [ASNativos] "Inaugurando" lista: ¿Es esto un > patrón conocido? > > Evidentemente esta solución es mucho más potente y supera lo > que yo había entendido por menú. No obstante, y sin ánimo de > ofender, me da la sensación de que esta solución genera > alguna que otra dependencia (quizás innecesaria) y un alto > acoplamiento, a tener a cuenta si se busca una solución > lightweight para el menú. > > Una solución "completa" para un menú, podría contar con los > siguientes patrones de diseño: > > - Singleton. Como controlador de acceso único (Multiton si se > usara más de un menú) y como data pool si fuese necesario. > > - Decorator. Ayudaría a maquillar el menú según necesidades > específicas. > > - State Pattern, para modificar el comportamiento de los > elementos del menú de la manera más flexible posible. > > En cualquier caso, ni se te ocurra extender MovieClip xD > > M. > > > > -----Mensaje original----- > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] En nombre de Joseba > Alonso Enviado el: viernes, 16 de junio de 2006 12:29 > Para: 'Lista dedicada a Actionscript' > Asunto: RE: [ASNativos] "Inaugurando" lista: ¿Es esto un > patrón conocido? > > Hey Ale!! > > Este correo lo tenia pendiente, aunque he estado un poco > liado no lo he querido dejar pasar :) > > Yo realmente creo que esto si es un patron conocido, es > decir, no es un pattern en el sentido estricto de la palabra, > pero si es un problema recurrente al que le asocio una > solución común. De hecho, creo que es un problema que nos > enfrentamos en cada proyecto. El otro dia en el Adobe Live > hablando con Xavi lo comentamos. Los dos teniamos unas clases > parecidas para resolverlo. > > Yo utilizo 2 clases para resolver este problema: BotonBase y MenuBase. > Cuando quiero hacer un menu, o un selector de cualquier tipo > creo un MovieClip, con un campo de texto dentro que *siempre* > llamo texto_txt y opcionalmente un clip que *siempre* llamo > fondo_mc. Luego hago una subclase de BotonBase y la vinculo > al clip. A partir de ahí tengo soporte de eventos, estilos, > sonido, panel propiedades de componente, habilitar-deshabilitar... > etc. Luego creo una subclase de la clase MenuBase agrupo > todos los botones en un MovieClip y la vinculo a esa clase. > Esta me ofrece el soporte para el control de grupo, > selección, añadir, quitar... etc. Tambien la clase MenuBase > tiene una caracteristica muy util, si creo un campo de texto > dentro con el nombre de "css" coje el texto (meto codigo css > dentro) y aplica la hoja de estilos a los botones, esto me ha > resultado bastante más comodo que usar un css externo siempre > que no haya que compartir estilos. > > La verdad es que de todo el conjunto de clases que forman mi > "framework" > personal estas 2 son las que mas uso con diferencia. Diria > que no hay un solo proyecto donde no las use por lo menos un > par de veces, las tengo muy probadas. > > También tienen una pega, al resolver el tema via herencia > tiene los tipicos problemas que se comentan siempre en las > discursiones de composicion vs herencia, es decir, que si el > menu en cuestion necesita heredar de otra clase, pues la > hemos jodido. Esto ocurre pocas veces, pero ocurre. He > pensado varias veces en hacerlas que funcionen via > composicion o agregacion, pero finalmente he deshechado la > idea porque simplemente el hacerlas de esta manera haria que > la implementacion final fuese mas costosa y liosa. Vamos que > he preferido sacrificar flexibilidad para ganar rapidez y > facilidad de uso. > > He colgado algunos ejemplos aquí > (http://www.sidedev.net/miscfiles/asn_160606.zip), junto con > las clases, por si interesa. > > Un saludo, > > Joseba > > P.D: Gracias por el apoyo, te puedo asegurar que hay muchas > veces que me muerdo la lengua con ciertos emails. El otro dia > casi me tiro por la ventana por los diversos emails enviados > a la lista. Pero se agradece que haya gente que lo note,de > verdad, es un respiro. :) > > > -----Mensaje original----- > > De: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] En nombre de Ale Muñoz > Enviado el: > > jueves, 15 de junio de 2006 0:15 > > Para: [email protected] > > Asunto: [ASNativos] "Inaugurando" lista: ¿Es esto un patrón > conocido? > > > > > > Jai, > > > > ante todo, felicitaciones a Joseba por su paciencia y > saber hacer. > > > > A veces, sueño tener el temple que demuestras día tras otro... > > > > Tras el peloteo de rigor, un "on-topic", para variar... > > > > Tengo la siguiente duda... > > > > Supongo que más de una vez os habréis enfrentado al clásico > > menú que tiene x elementos, y queréis que uno de ellos aparezca > > como seleccionado y el resto no. > > > > La pregunta es... ¿es esto un patrón de diseño conocido? > > > > Si es así... ¿cómo se llama, y cual sería la mejor > implementación > > en AS? > > > > He puesto el ejemplo del menú, pero la idea es válida para > > conjuntos de objetos genéricos. > > > > He estado haciendo pruebecillas y todo lo que hacía me ha > > dado la impresión de ser ultra-cutre, así que recurro a las > > mentes privilegiadas de la lista :D > > > > Poseso... no es muy importante, pero puede ser interesante... > > > > > > a!e > > > > > > > > > > ----------------------------------------------------- > > ASNativos > > www.5dms.com > > subscripciones/desubscripciones > > http://5dms.com/mailman/listinfo/asnativos_5dms.com > > ----------------------------------------------------- > > > > > > > ----------------------------------------------------- > ASNativos > www.5dms.com > subscripciones/desubscripciones > http://asnativos.5dms.com > ----------------------------------------------------- > > > > ----------------------------------------------------- > ASNativos > www.5dms.com > subscripciones/desubscripciones > http://asnativos.5dms.com > ----------------------------------------------------- > > ----------------------------------------------------- ASNativos www.5dms.com subscripciones/desubscripciones http://asnativos.5dms.com -----------------------------------------------------

