Digamos que você vá ao dentista para retirar um dente.
Quando a recepcionista pede seu nome, essas são as informações necessárias para iniciar o compromisso. Neste exemplo, seu nome é informações contextuais . Portanto, no contexto de uma visita ao dentista, é necessário fornecer seu nome para que o dente seja puxado.
Agora, digamos que você vá até o banco.
No banco, você pede para retirar US $ 100. O caixa precisa estabelecer sua identidade antes de lhe dar dinheiro; portanto, você provavelmente precisará mostrar uma carteira de motorista ou passar o cartão ATM e inserir o seu número PIN. De qualquer maneira, o que você está fornecendo é contexto . O caixa usa essas informações para avançar a transação. Eles podem perguntar de que conta você deseja se retirar. Quando você responde "Minha conta poupança" , isso é ainda mais contextual .
Quanto mais contexto você fornecer, mais conhecimento a outra parte terá para ajudar a lidar com sua solicitação. Às vezes, o contexto é opcional (como digitar mais e mais palavras na pesquisa do Google para obter melhores resultados) e, às vezes, é necessário (como fornecer seu número PIN no caixa eletrônico). De qualquer forma, são as informações que geralmente ajudam a fazer as coisas.
Agora, digamos que você pegue seus US $ 100 e compre uma passagem de avião para voar para algum lugar quente enquanto sua boca se cura.
Você chega a um bom destino ensolarado, mas sua mala não chega. Está perdido em algum lugar do sistema do aeroporto. Então, você leva seu "tíquete de retirada de bagagem" (aquele adesivo com o código de barras) para o "escritório de Bagagem Perdida". A primeira coisa que a pessoa atrás da mesa solicita é esse bilhete com o seu número de bagagem. Esse é um exemplo de algum contexto necessário .
Mas a pessoa que solicita a bagagem solicita mais informações sobre a sua mala, para que possam encontrá-la mais facilmente. Eles perguntam: " Qual é a cor? Qual é o tamanho? Tem rodas? É duro ou macio? Embora não precisem necessariamente dessas informações, ajuda a restringir as coisas se você as fornecer. problema, torna a pesquisa muito mais rápida. Esse é um contexto opcional .
Aqui está a parte interessante: para muitos softwares e APIs, o contexto necessário geralmente termina como parâmetros reais em uma assinatura de método, e o contexto opcional vai para outro lugar, como um mapa de valor-chave flexível que pode conter qualquer coisa (e pode estar vazio ) ou no armazenamento local do encadeamento, onde ele pode ser acessado, se necessário.
Os exemplos acima são da vida real, mas você pode mapeá-los facilmente para áreas da ciência da computação. Por exemplo, os cabeçalhos HTTP contêm informações contextuais. Cada cabeçalho refere-se a informações sobre a solicitação que está sendo feita. Ou quando você está enviando um ID de transação global como parte de um processo de confirmação em duas fases , esse ID de transação é contexto. Ajuda o gerente de transações a coordenar o trabalho, porque são informações sobre a tarefa geral em questão.
Espero que ajude.