日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

软件体系架构模式之二分层体系结构

發(fā)布時間:2023/11/27 生活经验 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件体系架构模式之二分层体系结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分層體系結構模式是n層模式,其中組件被組織在水平層中。這是設計大多數軟件的傳統(tǒng)方法,并且具有獨立性。這意味著所有組件都是互連的,但彼此之間不依賴。

圖1:分層架構

在此體系結構中有四層,其中每一層在模塊和其中的組件之間都有聯(lián)系。從上到下分別是:

表示層:它包含與表示層相關的所有類別。

業(yè)務層:包含業(yè)務邏輯。

持久層:用于處理對象關系映射之類的功能

數據庫層:這是所有數據的存儲位置。

在這種情況下,層是關閉的,這意味著請求必須從上到下遍歷所有層。這樣做有兩個原因,一個是所有“相似”組件都在一起,另一個是它提供了隔離層。

詳細地說,將“相似”的組件放在一起意味著與某個層相關的所有內容都停留在該單個層中。這樣一來,就可以在組件的類型之間進行清晰的分隔,并且還可以將類似的編程代碼集中在一個位置。通過隔離各層,它們變得彼此獨立。因此,例如,如果我們要將數據庫從Oracle服務器更改為SQL服務器,這將對數據庫層產生很大的影響,但不會影響其他任何層。同樣,假設您有一個自定義的書面業(yè)務層,并想為業(yè)務規(guī)則引擎進行更改。如果我們擁有定義良好的分層體系結構,則更改不會影響其他層。

圖2:分層架構中的數據傳播

可以對分層體系結構模式進行修改,以在提到的層之外增加其他層。這稱為混合分層體系結構。例如,在業(yè)務層和持久層之間可以有一個服務層。但是,這不是理想的方案,因為現在業(yè)務層必須經過服務層才能到達持久層。通過服務層,此請求不會獲得任何價值。我們將其稱為架構漏洞反模式。請求通過層,而在每個層中執(zhí)行的邏輯很少或沒有邏輯。

圖3:分層架構模式中的開放層

解決此問題的唯一方法是將可選層設置為開放層。這意味著,如果可選層將任何值添加到正在發(fā)送的請求中,那么請求將通過它。如果不是,那么它將簡單地繞過該層,然后轉到相關層。從上圖中可以看出,請求繞過了服務層,并從業(yè)務層移到了持久層。

但是請注意,通過使用開放層,可以消除使用隔離層的好處。如果要交換持久層,則必須考慮開放服務層以及業(yè)務層。這兩個層現在都耦合到持久層。因此,盡管很容易向系統(tǒng)中添加開放層,但不應允許它發(fā)生。我們必須設法解決問題而不損害體系結構。


結論

分層架構是軟件架構模式的最簡單形式。如果您要設計一個基本的應用程序,其中用戶數量很少(<100–200),并且您確定上線后不會有太多的需求變更,那么這是最好的軟件架構模式。與其他模式相比,此體系結構模式的實現成本非常低。

以下是分層架構模式的利弊分析。

優(yōu)點

由于組件屬于特定層,因此易于測試。因此,它們可以單獨進行測試。

它很容易實現,因為自然而然,大多數應用程序都是分層工作的。

缺點

盡管可以對特定的層進行更改,但這并不容易,因為應用程序是單個單元。而且,層之間的耦合趨于使其變硬。這也使得難以擴展。

必須將其部署為單個單元,因此更改為特定層意味著必須重新部署整個系統(tǒng)。

它越大,請求通過多個層所需的資源就越多,因此將導致性能問題。

原文:https://medium.com/@priyalwalpita

總結

以上是生活随笔為你收集整理的软件体系架构模式之二分层体系结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。