2009-02-14 25 views
5

Intento seguir los principios SOLID. Pero cada vez que se trata de interfaces de usuario, encuentro que hay una fricción inherente entre la pantalla torpe de datos híbridos y agregados que requiere el cliente y los buenos principios de la responsabilidad única.SOLID y la interfaz de usuario?

Ahora es posible dividir y conquistar los diversos fragmentos de una interfaz de usuario típica en clases de una sola responsabilidad, pero luego se encuentra con todo tipo de problemas constructivos interesantes debido a los llamados "piezas separadas" de GUI en realidad a menudo resultan ser diferentes vistas del mismo estado compartido, o al menos vistas parciales de estado superpuesto.

A menudo termino combinando clases de controlador bastante torpes para mis vistas que no son muy parecidas a SOLID, pero es una práctica de codificación bastante inconsistente, y me molesta un poco. Simplemente parece que la complejidad de dividirlo no vale la pena.

Entonces, ¿cómo lidiar con eso?

Respuesta

3

¿Has consultado en presentation patterns (escritos incompletos de Martin Fowler)? Tiendo a usar Presentation Model para vistas complejas y Autonomous View para vistas triviales. Presentation Model le ofrece una configuración flexible y puede probar fácilmente estas clases.

1

Creo que tienes razón. La vista de los datos podría necesitar una "pantalla grumosa de datos agregados híbridos" si eso es lo que dicta la buena experiencia del usuario para su aplicación. Para la IU, la usabilidad de la IU es más importante que tratar de seguir los principios de diseño de codificación. Los principios de diseño para el código no deben dictar la forma en que se ve o funciona una interfaz de usuario. Luego terminas con formas rígidas y vistas que tienen sentido para el código. Haz lo que tenga sentido para el usuario.

Dicho esto, un patrón MVC/MVP como se mencionó anteriormente podría ayudar. Separe la vista del presentador. De esta forma, aún puede aislar su vista y mantener el SRP para la vista. Su presentador es el que tendría que violar el SRP y tendría múltiples razones para el cambio.

+0

Supongo que la discrepancia entre las bases de datos de 10-15 años y las gui modernas es lo que nos mantiene a la mitad de nosotros en puestos de trabajo;) – krosenvold

+2

Solo hasta que puedan conseguir robots para hacerlo ... –

Cuestiones relacionadas