Discusión sobre el artículo "Simplificación de bases de datos en MQL5 (Parte 2): Uso de la metaprogramación para crear entidades"
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Artículo publicado Simplificación de bases de datos en MQL5 (Parte 2): Uso de la metaprogramación para crear entidades:
En el artículo anterior, dimos los primeros pasos para comprender cómo gestiona MQL5 las bases de datos: creamos tablas, insertamos, actualizamos y eliminamos registros, e incluso exploramos las funciones de transacciones, así como la importación y exportación de datos. Todo esto se hizo de forma directa, utilizando SQL escrito directamente y llamando a las funciones nativas que ofrece el lenguaje. Este paso fue fundamental, ya que sentó las bases sobre las que se construirá cualquier capa de abstracción. Pero ahora surge una pregunta inevitable: ¿queremos escribir código SQL cada vez que necesitemos gestionar datos en nuestros robots e indicadores?
Si consideramos un sistema más robusto, la respuesta es no. Trabajar exclusivamente con SQL hace que el código resulte prolijo, repetitivo y propenso a errores, sobre todo a medida que la aplicación crece y empieza a gestionar múltiples tablas, relaciones y validaciones. Aquí es donde entra en juego un ORM (mapeo objeto-relacional): una forma de tender un puente entre el mundo orientado a objetos en el que programamos y el mundo relacional en el que se almacenan los datos. El primer paso en esta dirección consiste en crear una forma de representar las tablas de la base de datos directamente como clases en MQL5.
En este segundo artículo, aprenderemos a utilizar una característica del lenguaje que a menudo se subestima, pero que resulta extremadamente potente: #define. Esto nos permitirá automatizar y estandarizar la creación de estructuras, evitando duplicidades y facilitando futuras ampliaciones. Con él, crearemos nuestras primeras entidades (clases que representan tablas) y también un mecanismo para describir los metadatos de las columnas, como el tipo de datos, la clave primaria, el autoincremento, los campos obligatorios y los valores por defecto.
Este enfoque servirá de base para todo lo que venga a continuación: repositorios, generadores de consultas y creación automática de tablas. En otras palabras, estamos empezando a dar forma al ORM de MQL5 tal y como lo habíamos concebido desde el principio.
Autor: joaopedrodev