三層架構的優點和缺點
3 層應用程式架構是一種模組化的客戶端-伺服器架構,它由表示層、應用層和資料層組成。表示層是一個與其他兩個層互動的圖形使用者介面 (GUI);資料層儲存資訊;應用層管理邏輯。
3 層架構在提高水平可擴充套件性、效能和可用性方面具有優勢。當存在三個層時,每個元件都可以由一個單獨的程式設計師團隊使用與其他層開發人員不同的程式語言同時生成。3 層正規化使組織或軟體打包商能夠更輕鬆地隨著新需求和機會的出現不斷擴充套件應用程式,因為可以修改或重新定位一層中的程式設計而不會影響其他層。
三層架構的優點
以下是三層架構的主要優點
資料完整性得到增強。在這裡,第二層是所有更新的資訊傳遞的地方。它可以確保只有關鍵資料才能被允許在資料庫中更改,從而消除不可靠的客戶端應用程式破壞資料的可能性。
由於客戶端無法直接訪問資料庫,因此安全性得到增強,因為客戶端更難以收集未經授權的資料。由於業務邏輯儲存在安全的中央伺服器上,因此它更安全。
應用程式可以使用易於擴充套件的元件來利用啟用系統的模組化架構,從而提高可用性。
由於任務的分離,網頁設計師處理表示,軟體工程師處理邏輯,而資料庫管理員處理資料模型。
每個層都獨立於其他層,允許進行更新或更改而不會影響整個程式。
在業務層中定義的任何程式碼都可以被表示層中的任意多個元件共享,只要存在業務層元件即可。
只有必要的業務層方法可以在表示層中顯示。
在更新資料庫之前,可以在應用程式層檢查或確認呈現的資料。
請求者通常看不到資料庫的實際結構,這使得任何資料庫更改都變得透明。因此,即使底層資料庫結構發生更改,與其他應用程式交換資料的中間層程序也可以保持其當前的使用者介面。
三層架構的缺點
以下是三層架構的缺點
三層結構使得開發人員難以以滿足移動使用者需求以及運營團隊按需擴充套件或縮減服務所需的敏捷性和靈活性來更新應用程式。
具有三層設計的應用程式在應用程式開發過程的不同階段的敏捷性較差。儘管應用程式的功能可能被分解成模組,但更改其中任何一個模組都意味著需要重建和測試整個應用程式。這可能需要大量工作。
需要對面向物件的概念有深入的瞭解。
由於建立 3 層應用程式比建立 2 層應用程式需要更多工作,因此它比 2 層客戶端-伺服器計算模型更復雜。有兩個額外的通訊來源。
可能需要一個單獨的代理伺服器。
不支援對資料工具的分散式或遠端訪問。
有時程式碼的單片性質會增加維護部分。
在構建 3 層應用程式時,通常應實現更多工作,因為接觸點數量增加。
提高效能需要更多工作,而 2 層模型可以使用自動化工具處理特定任務。
由於大部分應用程式邏輯由客戶端控制,因此在管理軟體版本和分發更新版本時會出現問題。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP