本資料是「企業發展概論」系列的一部分。關於網路的第一部分在這裡。 軟體架構是創建應用程式以及整個程式的模組和元件互動的基礎的結構。長期以來,程式設計師一直在嘗試創建良好的架構,因此我們現在了解許多架構模式也就不足為奇了。您需要理解它們:當您編寫 Web 應用程式時,架構問題變得很尖銳,因為其中比常規應用程式有更多的元件和模組。 架構模式是解決某些軟體設計問題的一種經過深思熟慮的方法。您可能已經遇到工廠方法、抽象工廠、建構器、原型、單例等設計模式。它們用於簡單地編寫程式碼、創建類別並規劃它們的互動方式。架構模式用於更高的抽象層級 - 當規劃應用程式使用者與伺服器、資料和專案的其他元件的互動時。讓我們快速瀏覽一下一些模板以及如何使用它們。
簡單的客戶端-伺服器架構很少使用,並且僅用於非常簡單的應用程式。對於真正大型且複雜的項目,會使用不同類型的架構,您將來會更加熟悉這些架構。現在,讓我們來看一個與客戶端-伺服器模型非常相似的模型。
客戶端-伺服器架構
從名字上就可以看出這個主題的一切都很簡單明了。但讓我們澄清一些要點,以便當您開始研究條件 Spring 時,您可以準確地理解我們在說什麼。假設您編寫了一條聊天記錄,並且您和您的朋友開始使用它。這裡有一個簡單的選擇 - 您使用您知道的 IP 位址直接透過網路向對方發送訊息: 起初,似乎一切正常,直到您的另一個朋友出現並提出問題:「為什麼不這樣做?你不把我加入你的聊天室嗎?” 當您決定將共同的朋友添加到聊天中時,您將面臨一個架構問題:每個聊天用戶都需要更新有關用戶數量的信息,並添加新用戶的 IP 位址。並且在發送訊息時,必須將其傳遞給所有參與者。這些是將會出現的最明顯的問題。更多的問題將隱藏在程式碼本身。為了避免它們,您需要使用一個伺服器來儲存有關用戶的所有資訊並知道他們的地址。該訊息只需發送到伺服器即可。反過來,他會將訊息傳送給所有收件人。當您決定在聊天中新增伺服器端時,您將開始建立客戶端-伺服器架構。客戶端-伺服器架構的元件
讓我們弄清楚她是什麼。 客戶端-伺服器架構是一種設計模式,是創建 Web 應用程式的基礎。該架構由三個組件組成:-
客戶端 - 從名稱中可以清楚地看出這是一個服務(Web 應用程式)的用戶,他聯繫伺服器以獲取某些資訊。
- 伺服器是您的 Web 應用程式或其伺服器部分所在的位置。他擁有或可以要求有關用戶的必要資訊。此外,當客戶端聯繫時,伺服器傳回請求的資訊。
-
網路很簡單:它保證客戶端和伺服器之間的資訊交換。
-
客戶端 - 包含用於授權、發送/接收訊息的圖形介面;
-
伺服器端 - 託管在伺服器上的 Web 應用程序,接收來自使用者的訊息,對其進行處理,然後將其發送給收件者。
重要提示:伺服器的概念不是關於特定的計算機,而是關於網路訂閱者之間的關係。 |
三層架構
這種架構模式引入了第三個參與者:資料倉儲。使用此模式時,這三個層級通常稱為層:-
客戶端層是使用者介面。這可以是 HTML 頁面傳送到的 Web 瀏覽器,也可以是使用 JavaFX 編寫的 GUI 應用程式。最主要的是,在它的幫助下,用戶可以向伺服器發送請求並處理其回應。
-
邏輯層是處理請求/回應的伺服器。它通常也稱為伺服器層。所有邏輯操作也發生在這裡:數學計算、資料操作、呼叫其他服務或資料儲存。
-
資料層是資料庫伺服器:我們的伺服器存取它。此層儲存應用程式在操作期間使用的所有必要資訊。
三層架構的優點
使用這樣的架構,我們獲得了很多優勢,包括:-
建立針對SQL注入的防護能力是對傳輸SQL程式碼的伺服器進行攻擊,當執行此程式碼時,攻擊者可以影響我們的資料庫。
-
我們想要規範使用者存取的資料的界定。
-
能夠在將資料傳送給客戶端之前修改資料。
-
可擴展性 - 將我們的應用程式擴展到使用相同資料庫的多個伺服器的能力。
-
對用戶連線品質的要求較低。當在伺服器上產生回應時,我們經常從資料庫中獲取大量不同的信息,對其進行格式化,只留下使用者需要的資訊。透過這種方式,我們可以減少作為回應發送給客戶端的信息量。
GO TO FULL VERSION