深入理解Web应用中的特定领域作用域
1. 作用域基础概念
作用域是对象存在的上下文。当一个作用域结束时,绑定到该作用域的对象会超出作用域;当作用域再次开始时,相同键的新对象会进入作用域。作用域也可以被看作是程序生命周期中对象状态持久的一段时间,即对象在这段时间内保留其值。
常见的作用域有单例作用域和无作用域。单例作用域的对象会一直存在,而无作用域的对象则只存在一瞬间。从某种意义上说,这两种作用域是通用的,任何应用都可能会用到无作用域的对象,而大多数应用可能需要访问单例上下文提供的一些长期存在的服务。
除了通用作用域,还有特定领域作用域,它们是根据应用的特定行为需求定义的上下文。例如,电影院在放映每部电影时都有特定的上下文。在多厅影院中,几部电影可能同时放映,每部电影都是一个独特的上下文。我们可以将这些上下文建模为注入器中的作用域。观看《公主新娘》的观众与在另一个影厅观看《哥斯拉》的观众处于不同的上下文。
2. Web应用中的特定领域作用域
Web应用是一种复杂的文档检索和传输系统,通常处理的是HTML文档。随着Web的发展,高度交互式的Web应用不断涌现,它们现在已经非常类似于桌面应用。然而,浏览器和服务器之间的数据传输基本协议仍然保持相对不变,Web应用的上下文语义就体现在这个协议中。
与桌面应用不同,Web应用通常会有许多用户同时访问,这些用户可以随意进入和离开与Web应用的通信链。例如,使用谷歌的Gmail服务查看电子邮件时,用户首先登录(相当于请求收件箱文档),然后打开一些未读邮件(相当于请求HTML文档),最后注销。整个过程中,Gmail一直在谷歌的服务器上运行。而像Mozilla Thunderbird
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



