Patrón Interpreter — Ejemplo Práctico

PUBLICADO: 2026-08-17
AUTOR: MANUEL PRIETO
Patrones de Diseño

El patrón Interpreter evalúa un mini-lenguaje propio mediante un árbol de expresiones.

1. El Problema de Partida

El buscador avanzado de knowledge debe soportar consultas como category:design-patterns AND type:example para filtrar posts sin cargar una librería de búsqueda completa. Parsear esto con expresiones regulares anidadas y if/else se vuelve ilegible en cuanto se añade OR o NOT.

2. La Solución Interpreter

3. Uso en el sidebar

4. Ventajas

  • Cada regla (category:X, AND) es una clase pequeña y testeable, sin regex complejas.
  • Extensible: añadir OR o NOT es una clase de expresión más, sin tocar el parser existente en profundidad.
  • Legible: el árbol de expresiones refleja exactamente la estructura lógica de la consulta.