上下文物件

麥冬發表於2019-01-19

上下文物件

來源:http://corej2eepatterns.com/C…

問題需求

您希望避免在相關上下文之外使用特定協議的系統資訊

  • 您想訪問系統資訊中的元件和服務
  • 您想通過系統資訊的特定協議解耦應用中的元件和服務
  • 您只想暴露上下文中關聯的APIs

解決方案

您可以使用上下文物件來封裝狀態,並以獨立協議的方式在整個應用中共享

策略

  • 請求上下文策略

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

    • JSTL配置策略
    • Security上下文策略
  • 一般上下文物件策略

    • 上下文物件Facrory策略
    • 上下文Auto-Population策略

結論

  • 提升可複用性和可維護性
  • 提升可測性
  • 降低介面演變的約束
  • 效能降低

相關模式

  • 攔截過濾器模式
    攔截過濾器可以在web請求的處理過程中使用ContextFactory建立一個上下文物件
  • 前端控制器模式
    前端控制器可以使用contextFactory在web請求處理的過程中建立一個上下文物件
  • 應用控制器模式
    應用控制器可以使用contextFactory在web請求處理的過程中建立一個上下文物件
  • 傳輸物件
    傳輸物件是專門用於跨遠端層的傳輸狀態,用來減少網路通訊,而上下文物件是用來隱藏實現細節,提高可複用性和可維護性

相關文章