¿El diseño web responsivo va en contra del principio de Separaciones de Preocupaciones?

8

Me pregunto cómo funciona el diseño receptivo junto con el principio de Separaciones de Preocupación, con respecto a cómo estamos permitiendo que una implementación única se comporte para múltiples dispositivos de presentación (móviles, tabletas, tamaños de navegador, etc.). ¿Está rompiendo el principio?

Si realizo cambios en una página web que sé que se está comportando con responsabilidad y debería funcionar en 5 dispositivos, por ejemplo, ¿no estoy haciendo el desarrollo extremadamente difícil debido a la posible regresión que puede ocurrir desde un solo lugar en el software? / p>

Claro, eso me hace escribir menos código y trabajar mucho más rápido en múltiples dispositivos, pero ahora cada una de mis páginas requiere pruebas mucho más exhaustivas, que es el costo que podría seguir para no usar un marco web sensible y mantenerlo por separado. Implementaciones de una página.

    
pregunta Martin Blore 20.06.2013 - 14:25

2 respuestas

3

La forma en que actualmente se observa la capacidad de respuesta va en contra del principio de separación de inquietudes. Su pregunta supone que la capacidad de respuesta es una responsabilidad única que solo pertenece a un componente.

Sugeriría que la capacidad de respuesta es un atributo / responsabilidad que se puede aplicar a múltiples componentes. Por el bien de mi ejemplo, estoy asumiendo un MVC genérico | MVP | Patrón de tipo MVVM.

La Vista ciertamente tiene una mano en la capacidad de respuesta de la aplicación. Los elementos de la interfaz de usuario y la lógica que utiliza todos dictan cómo se realizará la vista. Así que la vista es responsable de la capacidad de respuesta de los elementos de la interfaz de usuario.

El Controlador también tiene una mano en la capacidad de respuesta de la aplicación. Los tipos de estructuras de datos y cómo se diseña la lógica de negocios afectarán el rendimiento. Así que aquí, el controlador | Presentador | ViewModel también tiene la responsabilidad de la capacidad de respuesta. Pero esta responsabilidad tiene que ver con elementos diferentes de los que la Vista es responsable.

Finalmente, el Modelo es responsable de las llamadas de acceso / servicio de datos. Hay consideraciones obvias de rendimiento en la forma en que los datos se recuperan y se presentan en la capa intermedia. Pero, de nuevo, este es un elemento diferente que también debe responder.

Responsiveness como una propiedad no es responsabilidad única de ningún componente. Todos los componentes deben ser responsables de su propio diseño para contribuir a la aplicación general. Una gran interfaz de usuario y un controlador pueden ser inútiles por las solicitudes de datos aparentemente interminables.

En cuanto a las pruebas, el uso de un enfoque por niveles aún funciona a su favor con respecto al esfuerzo general y la capacidad de respuesta. Si tiene 5 dispositivos y escribió capas individuales para cada dispositivo, tendría 15 componentes para probar. El uso del patrón MVC * le permite eliminar 8 componentes de las pruebas ya que tiene un Modelo y un Controlador comunes. Si esas dos capas realizan su parte del trabajo respondiendo, entonces solo tiene que probarlas una vez. Luego puedes enfocar tus esfuerzos restantes en las 5 Vistas.

    
respondido por el GlenH7 20.06.2013 - 14:47
2

No creo que viole la separación de preocupaciones ya que el CSS usa consultas de medios para separar el estilo para un tamaño de pantalla en particular. Las consultas de los medios encapsulan el código para un tamaño de pantalla particular.

Creo que, en lugar de pensar que el diseño responsivo funciona para X cantidad de dispositivos, se debe pensar que el diseño responsivo funciona para todos los tamaños de pantalla. Es la misma página web, simplemente diseñada al tamaño de la pantalla.

    
respondido por el DFord 20.06.2013 - 14:46

Lea otras preguntas en las etiquetas