Dot-Net
使用服務而不是組件有什麼優點和缺點?
從過去的幾個月開始,我正在從事最新的點網框架中的項目。
我覺得在最新的 dot net 版本中,“服務”比組件更受鼓勵。那是對的嗎?
我在銀光中看到(我是銀光的初學者)所有 DB 層操作都暴露為服務。不知道現在組件程序也有嗎?
有什麼優勢?如果所有層都公開為服務而不是 DLLS,性能會怎樣?
請通過對這個主題的一些了解,我應該從哪裡開始正確理解這個概念?
謝謝
SC
這實際上與面向服務的架構有關——這種架構已經流行了一段時間並且非常流行。
這個想法是不同的操作相互分離,因此它們可以被重用和修改,而無需重新編譯使用它的應用程序。無需在任何地方修改和複製 DLL 中的一段程式碼,而是可以部署一個服務,該服務代表特定處理或資訊源的單個訪問點。
假設您有一個信用卡驗證組件。您可以編寫此程式碼並將其編譯為 DLL,然後開始將其包含在您的所有應用程序中。除非您注意到錯誤或 CC 驗證規則發生更改,否則這沒有錯。或者,也許您想升級它以對照黑名單檢查它。如果不重新編譯使用它的應用程序,您將無法做任何這些事情。
但是,如果您的信用卡驗證作為一項服務公開,您可以進行更改並部署到一個位置。如果簽名相同(相同的參數和響應),應用程序甚至不必知道它已更改。
使用服務而不是組件的另一個優點是服務可以託管在任何地方。它們可以在本地伺服器上,也可以在世界的另一端。
話雖如此,就像所有事情一樣,您應該根據具體情況決定架構。雖然信用卡驗證是服務何時有用的一個很好的例子,但提供服務來呈現 HTML 控制項並沒有多大意義。