Este padrão de sistema prescreve um sistema de regras e customização com três chamadas.
- Data layer: Busca dados de bancos de dados e/ou arquivos de configuração.
- Evaluation layer: Contém funções que podem combinar argumentos de função e/ou dados da camada de dados em um resultado final.
- Calling layer: Chama a evaluation layer (ex.:
if(await rule.timeline.enable(userData)) { ... }
).
Regras na data layer e evaluation layer são estruturadas em forma de árvore.