TheCodeNaked

Paralelismo - Episódio 6 (Copy)

Episódio 6: Condicionais sem if — Inteligência Declarativa em Ação

Se você chegou até aqui, já entendeu que estamos construindo algo maior do que um simples sistema de execução de tarefas. Estamos criando uma linguagem declarativa embutida no Delphi. Um formato interpretável, flexível e controlado por regras que você define.

Mas o que falta? Controle de fluxo. Condicionais.

A ideia

E se você pudesse escrever algo assim:

{
  "acao": "VerificarSaldo",
  "se": {
    "campo": "saldo",
    "condicao": ">",
    "valor": 100
  },
  "entao": {
    "acao": "LiberarCompra"
  },
  "senao": {
    "acao": "NegarCompra"
  }
}

Sim, isso é um if sem if. Declarativo. Autoexplicativo. E dinâmico.

Como funciona

O interpretador JSON passa a compreender um novo tipo de instrução:

  • se: representa a condição a ser avaliada
  • entao: o que executar se a condição for verdadeira
  • senao: (opcional) o que executar se a condição for falsa

Essa condição pode usar campos do contexto, parâmetros da requisição, ou até funções auxiliares.

Exemplo em Delphi

Nosso mecanismo de interpretação pode fazer algo como:

if AvaliarCondicao(JsonObj['se']) then
  ExecutarAcao(JsonObj['entao'])
else if JsonObj.TryGetValue('senao', SenaoObj) then
  ExecutarAcao(SenaoObj);

Mas quem define a regra é o arquivo JSON. O código Delphi apenas obedece.

Benefícios

  • Regras de negócio mudam sem recompilar o sistema
  • Fica fácil criar fluxos alternativos, planos B, fallback
  • Ideal para apps que usam workflows, backoffices ou automações
  • Possível integrar com sistemas externos, que fornecem as regras

E se quiser mais?

  • Podemos criar switch/case declarativos
  • Suportar funções lógicas como andornot
  • Suportar “condicionais múltiplas” por lista

Conclusão

Condicionais declarativas abrem um novo nível de controle no interpretador. Não é apenas sobre executar código, é sobre delegar lógica para configuração.

Estamos transformando JSON em uma linguagem de programação de alto nível. E estamos fazendo isso no Delphi.

No próximo episódio: parâmetros dinâmicos e variáveis substituíveis.

Sobre o autor

TheCodeNaked

No TheCodeNaked, programar é consequência, não ponto de partida. Antes do código, vem a dúvida, a análise, o contexto. Não seguimos fórmulas — questionamos. Criar software é pensar com clareza. O resto é só digitação.

TheCodeNaked

Criar com clareza. Codificar com intenção.

TheCodeNaked

Ótimo! Você se inscreveu com sucesso.

Bem-vindo de volta! Você acessou com sucesso.

Você se inscreveu com sucesso o TheCodeNaked.

Sucesso! Verifique seu e-mail para acessar com o link mágico.

As suas informações de faturamento foram atualizadas.

Seu pagamento não foi atualizado