上下文对象

上下文对象

来源:http://corej2eepatterns.com/C...

问题需求

您希望避免在相关上下文之外使用特定协议的系统信息

  • 您想访问系统信息中的组件和服务
  • 您想通过系统信息的特定协议解耦应用中的组件和服务
  • 您只想暴露上下文中关联的APIs

解决方案

您可以使用上下文对象来封装状态,并以独立协议的方式在整个应用中共享

策略

  • 请求上下文策略

    • 请求上下文Map策略
    • 请求上下文POJO策略
    • 请求上下文Validation策略
  • 配置上下文策略

    • JSTL配置策略
    • Security上下文策略
  • 一般上下文对象策略

    • 上下文对象Facrory策略
    • 上下文Auto-Population策略

结论

  • 提升可复用性和可维护性
  • 提升可测性
  • 降低接口演变的约束
  • 性能降低

相关模式

  • 拦截过滤器模式
    拦截过滤器可以在web请求的处理过程中使用ContextFactory创建一个上下文对象
  • 前端控制器模式
    前端控制器可以使用contextFactory在web请求处理的过程中创建一个上下文对象
  • 应用控制器模式
    应用控制器可以使用contextFactory在web请求处理的过程中创建一个上下文对象
  • 传输对象
    传输对象是专门用于跨远程层的传输状态,用来减少网络通信,而上下文对象是用来隐藏实现细节,提高可复用性和可维护性

你可能感兴趣的:(模式,java)