什么是上下文对象设计模式?
答案 0 :(得分:35)
Context是一组数据,通常存储在Map
或自定义类中,作为带有访问器和修饰符的结构。它用于维护状态和在系统内共享信息。 See this PDF for an indepth description。虽然它可以用于高效和有效的数据共享,但您应该注意到许多人对Context
模式an anti-pattern持谨慎态度。
答案 1 :(得分:6)
它的一个例子可能是HttpSession对象:你的属性基本上是一个带有String键和Object元素的映射。这提供了http请求之间的状态信息。另一个例子是ServletRequest,它在Servlet之间提供状态信息。
答案 2 :(得分:4)
上下文对象以更通用和可移植的形式封装特定于Web服务器的HTTP信息。
在以下情况下使用:
使用上下文对象以独立于协议的方式封装状态,以便在整个应用程序中共享。
详细信息see this article
答案 3 :(得分:3)
“上下文”来自“上下文信息”。
来自Msu.edu:
上下文信息:除文档实际文本外的信息,例如发送日期,发件人身份,收件人身份,路由信息和回执。
在大多数框架中(以及设计模式),Context Object存储有关传入请求的信息并证实响应。
答案 4 :(得分:2)
有关模式的详细说明,请参阅Can you explain the Context design pattern?。
我的帖子也解释了为什么它不是一个反模式 - 但它的拙劣实现是。