✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Una forma orientada a objetos de trabajar con modelos y aplicaciones web

5

Cuando hablamos del concepto de Modelos en la programación orientada a objetos, normalmente nos referimos a una clase que es una representación de los datos almacenados en la base de datos.

Es decir, cuando la información se almacena en filas y columnas, completamos una clase, sus atributos, etc. con esa información para que podamos pasarla por la aplicación, manipularla según sea necesario y luego posiblemente serializar la datos de vuelta a la base de datos.

Pero en una aplicación web, es justo suponer que es posible que el modelo deba ser posible para el front-end para ser utilizado. Es decir, imagine una solicitud de front-end que realiza una llamada al servidor, solicita un modelo (o una colección de modelos) y luego los representa en el front-end.

Aunque esta publicación en particular no está orientada al código, sigo pensando que vale la pena pensar en el proceso de traducir un modelo del servidor y luego representarlo en el front-end de la aplicación web.

Trabajar con modelos y aplicaciones web

Imagine, por un momento, que su aplicación tiene un modelo de empleado. Este modelo puede incluir una variedad de atributos, pero es seguro asumir que todos los empleados tendrían:

  • un primer nombre,
  • un apellido,
  • una identificación de empleado,
  • y una dirección de correo electrónico

Cómo se almacena esta información en la base de datos no es del todo irrelevante, pero no es tan importante para esta discusión.

Por ejemplo, tal vez haya un solo registro que contenga toda esta información almacenada en una cadena JSON. Por otro lado, quizás haya una tabla de empleados en la que cada fila represente a un empleado y luego cada columna represente un atributo.

Los detalles de cómo se traduce la información de la base de datos (o, más generalmente, del almacén de datos) a la clase no son tan importantes.

Por lo general, sin embargo, veremos algo como esto:

  1. Hay una clase que solicita la información,
  2. La información se pasa a una Fábrica Simple ,
  3. La Fábrica Simple instancia el Modelo ,
  4. Luego, el modelo se pasa a la clase de terceros que lo solicitó.

Desde un punto de vista pictórico, puede verlo así:

A partir de este punto, el Modelo se pasa por toda la aplicación. Pero aquí es donde entra en juego el punto inicial de esta publicación: ¿Cómo pasamos una instancia del Modelo (o una colección de Modelos) al front-end de la aplicación?

El flujo de la aplicación web

En aras de mantenerlo simple, supongamos que vamos a usar un solo modelo y luego, si reviso este concepto desde el punto de vista del código, podemos profundizar un poco más.

Sin embargo, el flujo general de una aplicación web será algo como esto:

  1. Un usuario desencadena una acción que solicita una instancia del modelo,
  2. El front-end hace una llamada a un punto final en el servidor,
  3. El servidor lee las solicitudes y verifica que sea válida,
  4. Luego envía una representación del modelo al front-end.

Otros desarrolladores pueden no estar de acuerdo (lo cual siempre es bienvenido y vale la pena discutirlo, en mi opinión), pero descubrí que serializar la instancia del modelo en JSON hace que sea mucho más fácil trabajar con él en el front-end debido a la funcionalidad de JavaScript, ya que se relaciona con, ejem, JSON.

Una forma orientada a objetos de trabajar con modelos y aplicaciones web

En otras palabras:

  1. tomamos el modelo,
  2. serializarlo en JSON,
  3. enviarlo a través del cable,
  4. luego deserialícelo en el front-end en una representación JavaScript de sí mismo.

Esto nos permite manipularlo tanto como lo haríamos en el lado del servidor; sin embargo, estamos tratando con un objeto JavaScript. Además, también nos permite realizar ciertos cambios y enviar la información de vuelta al servidor en un estado diferente al que se envió.

En última instancia, esto nos permite guardar los datos en la base de datos.

Una perspectiva de alto nivel

Y ese es el ciclo de vida de alto nivel de pasar información de una base de datos a un modelo al front-end y viceversa.

A menudo, sin embargo, es útil ver esto en el código, por lo que quizás en una publicación futura proporcione una serie de artículos que pueden explicar cómo hacer esto.

Sin embargo, mientras tanto, no debería ser difícil traducir sus implementaciones en el flujo de trabajo Modelo-Serialización-Solicitud-Envío como se describe en esta publicación.

Fuente de grabación: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More