6

Tengo una aplicación que lleva al usuario a través de una serie de pasos, configurando un producto, digamos más de 10 pantallas. Con opciones para volver atrás, salte a un cierto punto, etc. Necesito desvanecerme entre estos pasos, y también tengo interruptores de idioma disponibles en cualquier punto.¿Patrón de diseño para estados de vista múltiple?

Estaba pensando en usar un patrón de estilo MVC, tener una vista maestra que acepte una "próxima vista" y la desvanezca, eliminando la anterior.

Se siente hinchado tener más de 10 clases de vista separadas, usando componentes similares para esta tarea, por lo que me preguntaba ¿qué otros enfoques hay que ver? o uno que es adecuado para este tipo de aplicación

+2

¿Qué tiene de malo tener 10+ vistas diferentes? Tener 1 gran clase con varios estados me parece peor –

+0

Supongo que nada, aparte de que parece que no es la mejor manera de avanzar. Como dos vistas pueden no ser más diferentes que un poco de texto y algunas opciones. Pero supongo que sería más simple y más claro de desarrollar. – davivid

+0

Eche un vistazo al componente paso a paso aquí: http://lab.kapit.fr/documentation/klovis/prod/klovis-flex-core/asdoc/index.html –

Respuesta

3

Antes de separar sus puntos de vista, piense primero en lo que tienen en común.

Mi primer instinto sería crear una clase View y establecer las propiedades necesarias para la vista en sí misma, concretamente desvanecerse entre pantallas y todo lo que necesite que tenga que ver con el diseño.

Dice que el usuario configuraría un producto, por lo que es posible que desee crear una clase de configuración, únicamente para ese fin. Tenga cuidado de no introducir demasiada dependencia entre sus objetos.

La clase de configuración no debe saber demasiado sobre la clase View, más específicamente sobre la forma en que se muestra.

Es difícil decir más sin conocer su proyecto, pero la idea sería separar los datos de vista &, ver lo que sus objetos tienen en común, luego usar variables u otros objetos para introducir más especificidad.

+0

Vale, gracias, creo que estoy entendiendo el asunto. Empecé a jugar con robots ayer por la noche, y creo que acabo de complicar demasiado las cosas en esta sencilla aplicación. – davivid

Cuestiones relacionadas