簡體   English   中英

何時使用請求范圍的 bean 與將參數傳遞到堆棧中?

[英]When to use request scoped beans vs passing parameters down the stack?

我公開了一個 API,我從請求標頭中提取了一個client參數。
然后在業務邏輯中使用這個參數,將客戶特定的規則應用到連接層,在那里它驅動我將調用的外部系統。

我們正在與一位同事討論我們是否應該使用請求范圍的 bean 來存儲這個參數並使其在堆棧中的任何地方都可以使用,或者我們是否應該將此值作為方法參數向下傳遞,或者兩者兼而有之。

請求范圍的 bean 很簡單 - 您存儲值並可以在任何地方訪問它。 另一方面,您通過不公開服務所需的實際參數來隱藏服務的實際需求。

在這種情況下是否有最佳實踐? 你會如何處理這種情況?

我們最終做了什么:

  • 公開業務服務簽名中的參數,以真正清楚這些方法依賴什么來執行其工作
  • 使用請求范圍的 bean 來處理橫向問題,例如日志記錄或訪問層。

原因是橫向服務通常需要大量信息,並且通過業務層傳遞這些信息會污染方法的要求,因為所有方法都必須接受相同的 N 個參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM