Declarativo vs Imperativo

Para quem anda pelas ruas das capitais brasileiras conhece ele, o famoso “dogão/ Cachorro-quente ali da esquina”, no fim da noite, depois da balada e antes de ir pra casa, ele dá aquela “cimentada” no estômago e (quando bate bem) garante uma noite sono perfeita.

Cada pessoa tem suas preferências e o seu dogão do ❤️, tem pessoas que gostam de escolher cada ingrediente e a ordem de “empilhar” cada um deles. Tem pessoas que simplesmente escolhem “quero aquele ali” e fica feliz demais!!

Esse post é justamente sobre isso, dizer como montar um dogão ou simplesmente pedir um dogão. Essas maneiras de pedir uma comida é o que chamamos de Método Declarativo e Método Imperativo. Esses métodos são formas de instruir uma ferramenta ou um software a realizarem um determinado trabalho, seja ele criar uma infraestrutura com múltiplas camadas, configurar um serviço ou um servidor.

Método Declarativo

No método Declarativo você dá orientações de que precisa conter na sua infraestrutura a ferramenta vai se encarregar de validar, organizar e construir a sua infraestrutura baseadas em suas rotinas internas, se fossemos pedir um Cachorro-quente seria assim:

Mestre que um Cachorro-quente Número Três:

  • Sem ervilha
  • Com tomate
  • Com de ovo de codorna
  • Com purê de batatas
  • Com batata palha
  • Com queijo ralado
  • Com azeite

Método Imperativo

No método Imperativo você diz exatamente o que precisa, como você precisa e na ordem que você deseja para construir alguma coisa, e sempre da forma mais detalhada possível, vejamos o nosso “dogão”:

Mestre quero um dogão desses, com:

  • Pão duplo
  • Duas salsichas, dentro do pão
  • Duas porções de ervilha, por cima das salsichas
  • Duas porções de milho, ao lado das ervilhas
  • Uma porção de tomate, ao lado do milho
  • Duas porções de ovo de codorna, ao lado do tomate
  • Purê de batatas por cima para amarrar tudo
  • Batata palha por cima do purê
  • Queijo ralado por cima da batata
  • Azeite por cima de tudo

Conclusão

Percebem a diferença? As ferramentas que o universo DEVOPS e SRE nos oferecem são inúmeras, mas grande parte delas funcionam de forma Declarativa ou Imperativa. Esse é um tema que pode criar longas discussões de qual é a melhor abordagem a ser aceita. O objetivo deste post era trazer de uma forma didática as diferenças entre os modos de operação e com isso fornecer elementos para que você faça melhor a sua escolha.

Abraços!

Vida longa e próspera a todos!!

Referências


Convido você a ver os outros posts do blog Infra-as-Code.


Nossos contatos são:
Email – [email protected]
Twitter - @infraascodebr


--- --- IMPORTANTE --- ---
As opiniões aqui expressas são pessoais e de responsabilidade única e exclusiva do autor, elas não refletem necessariamente a posição das empresas que eu trabalho(ei) e/ou presto(ei) serviço.