2017-10-04 52 views
0

我試圖找出我正在使用的用例的最佳解決方案。不過,我很欣賞從你們那裏得到一些建築建議。合併與單獨的後端調用

我有一個用例,其中前端應顯示分配給任務的用戶列表以及未分配但可分配給相同任務的用戶列表。

我不知道更好的解決方案是什麼:

  • 有一個後端調用,它收集用戶的兩份名單,並將其發送 回前端含有列出了新的數據類中。

  • 有兩個後端調用,分別收集兩個列表中的一個並將它們分別發回 。

第一個解決方案的pro是單個後端呼叫,而第二溶液的親是在後端的單獨的方法的可重用性。

有關哪種解決方案更喜歡的原因和原因的任何建議?

有沒有我應該熟悉的任何模式或標準?

在此先感謝

+0

REST風格的設計可能會更喜歡兩個調用,因爲這些列表可能作爲獨立資源有意義。更直接的考慮是,如果你的服務器是多線程的,或者你有多個服務器,兩個調用可以很容易並行執行,這可能會加快速度。 – Gene

回答

1

,當我遇到的要求,從我開始做的只是一個單一的號召服務器獲取數據絆倒,或多或少(取決於問題域),一個單一的功能(這是我會打電話給你的任務用戶列表)。

該方法節省了客戶端的實現複雜性,並節省了事務(TCP頭等)的協議開銷。

如果性能分析顯示由於請求太多數據(用戶體驗受到影響)而導致調用速度太慢,那麼我會使用第二種解決方案。

總結我會從第一種方法開始。在必要時優化(使用更復雜的解決方案)。

0

由於可重用性,我傾向於這兩個調用。也許有一天,您需要爲一個案例添加第三個用戶列表,然後如果您只使用一種方法,則需要更改該方法。但是,可能有其他用例只需要兩個列表,但不是三個,所以您需要在那裏更改代碼。你也需要改變你所有的測試方法。如果您的項目變大,這會使您的項目難以更新或修復。所有的修改也增加了引入新bug的機會。

看到可以通過後端前端調用的方法就像一個接口有所幫助。 一般而言,一個接口應該打開進行擴展,但關閉方法的返回和要求。否則,稍作修改會導致各種更改。