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

Múltiples objetos escribiendo datos: cómo evitar esto

7

Conoce esos momentos en los que está trabajando en un programa, y ​​hay algunos lugares en su código que, según los requisitos o un error que se manifiesta de alguna manera, está directamente relacionado con el hecho de que tiene múltiples objetos escribiendo datos. al mismo almacén de datos? Eso no es bueno.

Esa es una manera terrible de comenzar una publicación. Déjame intentarlo de nuevo.

Múltiples objetos escribiendo datos

Digamos que está trabajando en un programa y una de las cosas que hace el código es actualizar un contador en algún lugar de la base de datos para rastrear cuántos cambios han ocurrido durante un pequeño período de tiempo.

El problema: tiene varios lugares en el código que están actualizando este contador.

Múltiples objetos escribiendo datos (en caso de que mi letra sea tan ilegible como parece).

No creo que muchos de nosotros nos propusiéramos escribir un código como este, pero sucede, y cuando sucede, termina teniendo todos estos efectos secundarios que generan todo tipo de comportamiento raro. (No conozco el término académico oficial para ello, y no me refiero a SECO, pero estoy de acuerdo con el "comportamiento funky" para esta publicación).

Sabemos intuitivamente que deberíamos tener un solo lugar en el que todo esto suceda, los factores externos, ya sea un aumento del alcance, un malentendido de nuestra parte para comprender los requisitos, o lo que sea, generan una codificación deficiente.

Entonces, tenemos todas estas entidades en todo nuestro sistema, cada una de las cuales está hablando con un solo punto en nuestra base de datos (o cualquier almacenamiento de datos que desee), pero ninguna de ellas es consciente de que otros están hablando con ellos.

Establecer límites

Podemos tratar de combatir esto con condicionales y otras cosas, pero solo lo estamos empeorando. Entonces, ¿qué se supone que debemos hacer?

Sé que, como sucede con muchas cosas en la programación, hay una variedad de formas de resolver esto, pero tal vez uno de los primeros pasos de la refactorización es tener una clase responsable de publicar actualizaciones en el almacén de datos.

De esa manera, podemos pasar de la ilustración de arriba a algo como esto:

Múltiples objetos escribiendo datos: cómo evitar esto

Múltiples objetos escribiendo datos: envíelos a una especie de mediador.

Es decir, todas las entidades hacen comunidad con este objeto y este objeto, y solo este objeto puede leer y escribir datos en la base de datos.

Hay algunos patrones de diseño que encajarían con este problema en particular, pero eso está fuera del alcance de esta publicación. En cambio, el punto que estoy tratando de hacer es que si te encuentras frente a un problema de:

  • Las entidades están escribiendo datos en el almacén de datos,
  • Múltiples entidades lo están haciendo,
  • Y está generando consecuencias no deseadas,

Luego intente crear una clase o un conjunto de clases estrictamente responsables de leer y escribir datos. Solo deje que la información pase a través de esas clases en lugar de que varias clases manipulen los datos.

Hace que sea más fácil de probar, hace que sea más fácil de depurar y, en última instancia, hace que sea más fácil de leer.

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