Estou programando há alguns meses e uma palavra usada com frequência é "contexto" nas aulas. Como ServletContext
(Java), Activity
(Android), Service
(Java, Android), NSManagedContext
(Objective-C, iOS).
Ao procurar nos dicionários, vejo que a palavra significa: situação, ambiente, circunstâncias etc. No entanto, como não sou um falante nativo de inglês, não entendo para o que devo traduzi-la diretamente. Por exemplo, se eu escrevesse uma classe que fosse nomeada SomeClassContext
ou um método que tivesse um parâmetro de contexto, eu não entenderia quando deveria nomeá-la de contexto porque não a entendia.
Eu tenho procurado por contexto no Stack Overflow, mas nenhuma pergunta / resposta foi capaz de me ajudar.
Eu ficaria muito feliz se alguém pudesse me fornecer a explicação.
fonte
Respostas:
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.
fonte
O contexto pode ser visto como um balde para transmitir informações. Geralmente é usado para transmitir coisas que não estão necessariamente vinculadas diretamente a uma chamada de método, mas ainda podem ser pertinentes. Uma maneira leiga de descrevê-lo pode ser "coisas com as quais você pode se interessar".
Por exemplo, se você estivesse escrevendo um serviço para atualizar um valor em um banco de dados, provavelmente passaria o ID do registro e o novo valor.
Se você deseja interfaces genéricas, também pode definir um contexto a ser transmitido, para que o serviço possa executar lógica de negócios arbitrária. Portanto, você pode incluir uma autenticação de usuário, o estado da sessão do usuário, etc ... no contexto, pois o serviço pode executar lógica adicional dependente desses valores.
fonte
Estamos em 2015 - maio de anos após o início desta discussão.
No entanto, estou postando esta mensagem para ajudar alguém como eu, que está com dificuldades para entender "Contexto"
De maneira alguma eu afirmo ter usado o Contexto em programas Java - portanto, é inteiramente sua a responsabilidade de escrever o Contexto em código rígido Então aqui vai: -
Por exemplo
Aqui está como a solicitação agora parece:
Aqui está a
filled_form_num_23321
aparência:Nesta transação
filled_form_num_23321
é o "contexto".Espero que isso ajude a esclarecer o conceito de "Contexto".
fonte
eu sempre penso no contexto como um estado particular relevante para o objeto ou construto com o qual estou trabalhando.
Por exemplo, quando você estiver usando o drawRect em uma vista (onde todo o desenho deve ser feito para uma vista), você sempre deve obter o currentGraphicsContext no qual você emitirá suas instruções gráficas principais. Esse contexto contém itens como limites da vista, a cor do traçado, a espessura do traçado para desenhar uma linha, a cor do preenchimento para preencher um caminho fechado etc. Este contexto (como a maioria dos outros) é apenas o estado atual neste momento. então pense no contexto gráfico neste caso apenas como um conjunto de estados como
a espessura do traçado é de 1,5 pixels, a cor do preenchimento é preta, os limites de visão são (155, 200) e a cor do traçado é vermelha
É basicamente o estado no momento atual ...
fonte
Para dar um exemplo prático. Digamos que você tenha uma determinada página da Web para buscar / renderizar algumas informações com base no usuário (conectado) e no idioma do navegador. A lógica de buscar as informações é independente do usuário e do idioma. Sua página receberá um usuário e um idioma ... para a lógica, não importa se sou eu, você, inglês ou espanhol.
Algum pseudo-código:
Não é tão difícil, mas leva algum tempo para entender o conceito
fonte
Contexto refere-se ao contexto de execução , que é os símbolos alcançáveis a partir de um determinado ponto no código e o valor desses símbolos nessa execução específica.
O contexto é um conceito importante porque:
Você não precisa escrever classes de contexto ou passar parâmetros de contexto . Qualquer parâmetro passado para uma função / método se torna parte do contexto de execução quando é chamado.
Mesmo que você não seja um falante de inglês, recomendo que você faça uma cópia do Code Complete para obter uma introdução suave, porém completa, a conceitos como contexto , modularidade , acoplamento , coesão etc.
fonte
O contexto no seu caso é o ambiente em que seu aplicativo está sendo executado.
Ele fornece informações / serviços / habilidades que seu aplicativo precisará para funcionar corretamente.
HTH
fonte
Com demasiada frequência, o autor assume que o leitor tem uma compreensão detalhada do contexto em que a palavra "contexto" está sendo usada.
Como definir o contexto na sentença a seguir "O tempo de execução cria um contexto no qual os possíveis valores para injeção podem ser armazenados. Esse contexto pode ser modificado, por exemplo, o aplicativo e a estrutura podem adicionar elementos ao contexto.
Parece que o autor está usando o contexto para significar algum tipo de contêiner, talvez um monte, que contém o contexto de algo. Tornou-se palavra da moda que está assumindo muitos significados e coisas confusas. São os elementos que são o contexto e estão sendo armazenados em um contexto. Para reduzir a confusão do contexto em que a palavra contexto está sendo usada, pode-se dizer que "o tempo de execução cria um contêiner para armazenar o contexto na forma de elementos". Melhor ainda: "o tempo de execução cria um contêiner para armazenar o estado na forma de elementos e esse contêiner com seu estado é chamado CONTEXTO".
fonte
3 anos depois, talvez um pouco tarde, mas talvez esse tópico o ajude. Ilustra que a palavra "contexto" tem um significado técnico em programação (não apenas um simples significado em inglês).
Quais linguagens de programação são livres de contexto?
Não tenho certeza se você pode usá-lo como exemplo e extrair algumas informações dele ou não. Eu também adoraria ouvir uma explicação independente da linguagem do termo de programação técnica "contexto"
Editar: ou pelo menos mostra que o termo "contexto" pode ser aplicado em um contexto técnico de programação (sem punição). Possivelmente em mais de uma aplicação concreta do termo.
fonte