上下文(背景/语境) context
是当前运行程序的环境。
网上各种不可说,模糊不清,但是一个概念的提出肯定有最初的含义。
总结上下文可以理解成:
- 上下文指由代码已运行的程序环境,不是指代码。
- 一组状态,这个好理解,取 spring cloud 的官方文档的例子:
一个Spring Cloud应用程序通过创建一个"引导"上下文来进行操作,这个上下文是主应用程序的父上下文。
引导上下文使用与主应用程序上下文不同的外部配置约定,因此使用bootstrap.yml application.yml(或.properties)代替引导和主上下文的外部配置。
这里所谓的 引导上下文 就是一组状态,实际就是一个保存配置的大对象,换个角度理就是环境。
- 环境背景
每一段程序都有很多外部变量。只有像Add这种简单的函数才是没有外部变量的。一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行。你为了使他们运行,就要给所有的外部变量一个一个写一些值进去。这些值的集合就叫上下文。
查了一下 context
n. 语境; 上下文; 背景; 环境;
谁用的翻译上下文,明明用背景、环境更贴切,
摘自知乎
和其他传入对象参数没什么区别。
但是通常使用Context来描述有几个特点:
被传入Context的部分(组件),内部需要频繁的获取Context的data和调用function。
对context有很强的依赖,实现建立在context的基础上。
Context会被较为多数部分(组件)所需要,在软件实现部分Context会在某个scene下出现单一实例化,然后被多个部分(组件)实例对象调用。
出现局部全局化。
Context会持有很多状态data。
Coder习惯,命名选择困难下的胶合产物。