26. Patrones frecuentes de modelado: catálogo, pedido, reserva, cuenta y movimiento

26.1 Introducción

Al modelar dominios distintos, aparecen estructuras que se repiten. Un comercio tiene productos y pedidos. Una clínica tiene turnos y reservas. Un banco tiene cuentas y movimientos. Un sistema educativo puede tener cursos, inscripciones y evaluaciones. Estas estructuras recurrentes pueden verse como patrones frecuentes de modelado.

Un patrón no debe copiarse mecánicamente. Sirve como orientación para hacer mejores preguntas, reconocer conceptos habituales y evitar empezar desde cero cada vez. El modelo final siempre debe validarse con el dominio concreto.

26.2 Imagen conceptual de patrones frecuentes

Patrones frecuentes de modelado de dominio como catálogo, pedido, reserva, cuenta y movimiento representados como estructuras conceptuales reutilizables

26.3 Qué es un patrón de modelado

Un patrón de modelado es una estructura conceptual que aparece con frecuencia en distintos dominios. No es una solución cerrada, sino una forma de reconocer problemas parecidos y formular preguntas útiles.

Un patrón de modelado ayuda a pensar, pero no reemplaza el análisis del dominio real.

Por ejemplo, el patrón Pedido sugiere conceptos como Pedido, Ítem de pedido, Producto, Cliente, Total y Estado. Pero cada negocio define sus propias reglas: descuentos, impuestos, cancelaciones, entregas, pagos y autorizaciones.

26.4 Patrón Catálogo

El patrón Catálogo aparece cuando el dominio mantiene una lista organizada de elementos disponibles para consulta, selección o uso. Puede ser un catálogo de productos, servicios, especialidades, cursos, prestaciones, habitaciones o recursos.

Sus conceptos frecuentes son Catálogo, Ítem de catálogo, Categoría, Precio, Vigencia, Disponibilidad y Estado. Las reglas pueden incluir publicación, baja, clasificación, versiones, precios históricos o restricciones de visibilidad.

26.5 Ejemplo de catálogo

En un sistema de turnos médicos, puede existir un catálogo de Especialidades y Prestaciones. Cada prestación puede tener nombre, duración, requisitos, precio de referencia y profesionales habilitados.

El catálogo no es solo una tabla de opciones. Puede tener reglas: una prestación puede estar vigente o inactiva, puede requerir autorización previa o puede tener duración distinta según el profesional.

26.6 Patrón Pedido

El patrón Pedido aparece cuando alguien solicita un conjunto de elementos, servicios o acciones. Es común en ventas, compras, logística, soporte, trámites y solicitudes internas.

Sus conceptos frecuentes son Pedido, Ítem de pedido, Cliente, Producto o Servicio, Cantidad, Precio, Total, Estado, Pago y Entrega. Sus reglas suelen incluir confirmación, cancelación, cálculo de total, disponibilidad, autorización y cambios permitidos según estado.

26.7 Ejemplo de pedido

En un comercio, un Pedido puede contener Ítems de pedido. Cada ítem referencia un Producto y define cantidad, precio aplicado y subtotal. El Pedido puede pasar por estados como creado, confirmado, pagado, enviado, entregado o cancelado.

Un invariante típico es que un pedido confirmado debe tener al menos un ítem. Otra regla puede indicar que no se puede modificar un pedido ya enviado.

26.8 Patrón Reserva

El patrón Reserva aparece cuando un recurso se bloquea, asigna o aparta para una persona o finalidad durante un período. Es común en turnos, hoteles, vuelos, alquileres, aulas, vehículos y eventos.

Sus conceptos frecuentes son Reserva, Recurso, Solicitante, Período, Disponibilidad, Confirmación, Cancelación y Estado. Las reglas suelen incluir superposición, vencimiento, anticipación, penalización y liberación del recurso.

26.9 Ejemplo de reserva

Un Turno puede verse como una reserva de una franja horaria con un profesional. El recurso reservado puede ser una agenda, un horario, un consultorio o una combinación de esos elementos.

Las preguntas importantes son: ¿qué se reserva exactamente?, ¿quién reserva?, ¿por cuánto tiempo?, ¿cuándo se confirma?, ¿qué ocurre si se cancela?, ¿qué pasa si el solicitante no asiste?

26.10 Patrón Cuenta

El patrón Cuenta aparece cuando el dominio necesita mantener una posición, saldo, estado o relación continua con una persona, organización o recurso. Es común en bancos, billeteras, créditos, suscripciones, puntos, deudas y cuotas.

Sus conceptos frecuentes son Cuenta, Titular, Saldo, Movimiento, Límite, Estado, Período y Regla de actualización. Las reglas pueden incluir saldo mínimo, bloqueo, acumulación, vencimiento, conciliación y autorizaciones.

26.11 Ejemplo de cuenta

En facturación, una Cuenta corriente de paciente puede registrar cargos, pagos, descuentos y deudas. El saldo no debería modificarse sin dejar movimientos que expliquen el cambio.

La cuenta permite ver continuidad en el tiempo. No representa una operación aislada, sino una relación que acumula efectos.

26.12 Patrón Movimiento

El patrón Movimiento aparece cuando se necesita registrar cambios sobre una cuenta, stock, saldo, historial o estado acumulado. Un movimiento explica qué cambió, cuándo, por qué y con qué importe o cantidad.

Sus conceptos frecuentes son Movimiento, Tipo de movimiento, Fecha, Importe o Cantidad, Origen, Destino, Motivo y Referencia. Las reglas pueden incluir reversión, conciliación, signo, autorización y trazabilidad.

26.13 Ejemplo de movimiento

En una cuenta corriente, un Movimiento puede representar un cargo por atención, un pago, una anulación o un ajuste. En inventario, puede representar entrada, salida, transferencia o corrección de stock.

Los movimientos suelen ser importantes para auditoría. En lugar de cambiar un saldo sin explicación, se registra cada movimiento y el saldo se deriva o se mantiene coherente con ellos.

26.14 Combinar patrones

Los patrones no viven aislados. Un Pedido puede generar Movimientos de stock. Una Reserva puede convertirse en una Prestación facturable. Una Cuenta puede acumular Movimientos derivados de Pedidos o Facturas. Un Catálogo puede alimentar Pedidos, Reservas o Servicios.

Combinar patrones requiere cuidado para no crear un modelo genérico sin significado. Cada combinación debe responder a reglas reales del dominio.

26.15 Tabla de patrones

La siguiente tabla resume los patrones tratados:

Patrón Idea principal Preguntas clave
Catálogo Lista organizada de elementos disponibles. ¿Qué se publica, clasifica o selecciona?
Pedido Solicitud compuesta por ítems. ¿Qué se solicita, confirma, calcula o entrega?
Reserva Asignación temporal de un recurso. ¿Qué recurso se bloquea y bajo qué condiciones?
Cuenta Relación continua con saldo, estado o posición. ¿Qué se acumula y cómo se mantiene consistente?
Movimiento Registro de un cambio con trazabilidad. ¿Qué cambió, cuándo, por qué y con qué efecto?

26.16 Preguntas para usar patrones con criterio

Antes de aplicar un patrón, conviene preguntar:

  • ¿El negocio reconoce esta estructura?
  • ¿Qué nombres usa el dominio para estos conceptos?
  • ¿Qué reglas cambian respecto del patrón típico?
  • ¿Qué conceptos son entidades y cuáles son objetos de valor?
  • ¿Qué invariantes debe proteger el modelo?
  • ¿Hay eventos importantes asociados al patrón?
  • ¿El patrón simplifica el análisis o fuerza una solución ajena?

26.17 Errores frecuentes

Al usar patrones de modelado, suelen aparecer estos errores:

  • Copiar una estructura conocida sin validar el dominio real.
  • Usar nombres genéricos cuando el negocio usa términos más precisos.
  • Forzar un patrón de Pedido donde en realidad hay Reserva o Solicitud.
  • Modelar una Cuenta sin registrar movimientos que expliquen cambios.
  • Tratar un Catálogo como simple lista sin reglas de vigencia o publicación.
  • Ignorar estados, eventos y restricciones propias del contexto.
  • Confundir patrones de dominio con tablas o pantallas predefinidas.

26.18 Qué debes recordar de este tema

  • Los patrones frecuentes ayudan a reconocer estructuras comunes del dominio.
  • Catálogo, Pedido, Reserva, Cuenta y Movimiento aparecen en muchos sistemas.
  • Un patrón orienta preguntas, pero no reemplaza el análisis.
  • Cada dominio adapta nombres, reglas, estados e invariantes.
  • Los patrones pueden combinarse, pero deben conservar significado claro.
  • Usarlos sin validación puede producir modelos genéricos e incorrectos.
  • El lenguaje del negocio siempre debe guiar la forma final del modelo.

26.19 Conclusión

Los patrones frecuentes de modelado permiten aprovechar experiencia acumulada. Ayudan a reconocer estructuras como catálogos, pedidos, reservas, cuentas y movimientos, y ofrecen preguntas iniciales para explorar reglas. Sin embargo, cada dominio tiene particularidades que deben descubrirse y validarse.

En el próximo tema estudiaremos la representación con diagramas de clases conceptuales de UML, una forma visual muy útil para expresar conceptos, asociaciones y multiplicidades del modelo de dominio.