服務層中的服務

2021-08-20 06:28:55 字數 933 閱讀 2199

以下內容來自《microsoft .net企業級應用架構設計》

從架構上講,服務層應用了軟體設計中乙個通用且人人皆知的原則--低耦合,可能還應用了另乙個原則,高內聚,這是通過乙個中間層解除使用者介面和中間層的耦合來實現。

在該圖中,服務層表示成了乙個遠端的層,不過實際中並不要求這樣實現,其取決於專案的客戶端(web或windows)。服務層可能就是表現層的一部分。如果那樣,服務層不需要設計成web服務,而是可以用支援服務的元件或一些普通類來實現。這裡的重點是服務層所提供的抽象,而不是其具體的實現方式。

那麼服務層有什麼好處呢?

在伺服器端,服務層中被呼叫的方法將協調並向領域模型,專門的應用程式服務,工作流等業務邏輯組成部分發起呼叫,從而組織程式需要的邏輯。

若沒有服務層,則需要從表現層直接呼叫到應用程式服務中,這就會造成乙個太過細粒度的遠端介面,從而導致過度多的互動。因此,你可能不得不為了完成指定的任務而執行多次遠端呼叫。從效能上考慮這當然不是一件好事。

怎樣繞過服務層?

應用程式服務(也叫做微服務)位於伺服器端,用來表示應用程式特定的服務以及領域邏輯的功能。舉例說明,微服務有執行貨幣轉換,以及基於工作流的服務,用來計算訂購貨物的數量並保證有足夠的庫存。

一般情況下我們總是推薦使用服務層,不過有時候讓表現層直接呼叫應用程式服務也未嘗不可,特別是當該服務特別簡單,僅執行了乙個單一操作的時候。

傳輸層提供的服務

1 提 用程式間 的邏輯通訊。2 差錯檢測 對收到報文的首部和資料部分都進行差錯檢測。3 提供無連線的或面向連線的服務 udp,tcp 4 復用和分用 復用指傳送方不同的應用程式都可以使用同乙個傳輸層協議傳送資料。分用指接收方的傳輸層在剝去報文的首部後能夠把這些資料正確的交付到目的應用程式。面向連線...

何時使用服務層?

以下內容來自 microsoft net企業級應用架構設計 何時使用服務層?服務層應該用在有所有一定複雜度的應用程式中,在多層分布式系統中,除非你只只用一種前端 例如web端 且應用程式服務的方法與系統的用例能很好的匹配起來,這時服務層僅僅起到乙個分發的作用,並且沒有工作需要組織。那些簡單的,僅用來...

業務層 服務層 資料層 表現層

表現層 它一方面為使用者提供了互動的工具,另一方面也為顯示和提交資料實現了一定的邏輯 頁面展示和各種互動包括提交 業務邏輯層 包含了系統所需要的所有功能上的演算法和計算過程,並與資料訪問層和表現層互動。服務端返回 資料的處理以及相應頁面的變化 服務層 相當於中間類的作用,中間的工廠類提供了另乙個通用...