<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # N 層(多層),3 層,2 層架構(帶示例) > 原文: [https://www.guru99.com/n-tier-architecture-system-concepts-tips.html](https://www.guru99.com/n-tier-architecture-system-concepts-tips.html) ## 什么是 N 層? **N 層應用程序**程序是在分布式網絡中的三臺或更多臺單獨的計算機中分發的程序。 n 層的最常見形式是 3 層應用程序,它分為三類。 * 用戶計算機中的用戶界面編程 * 更加集中的計算機中的業務邏輯,以及 * 管理數據庫的計算機中的必需數據。 該體系結構模型為軟件開發人員提供了最大的靈活性來創建可重用的應用程序/系統。 在 **N 層中,“ N”** 指的是正在使用的許多層或層,例如– **2 層,3 層或 4 層等**。 它也被稱為“ **多層** **體系結構”** 。 **n 層體系結構**是行業認可的軟件體系結構模型。 通過提供可伸縮性,安全性,容錯性,可重用性和可維護性解決方案,它適合支持企業級客戶端-服務器應用程序。 它幫助開發人員創建靈活且可重用的應用程序。 在本教程中,您將學習- * [什么是 N 層?](#1) * [N 層架構](#2) * [N 層架構的類型](#3) * [3 層架構](#3-Tier) * [2 層架構](#2-Tier) * [單層或 1 層架構](#1-Tier) * [多層體系結構的優缺點](#4) * [N 層架構提示和開發](#5) ## N 層架構 n 層系統的圖形表示在此處描述–表示層,應用程序層和數據庫層。 <figure align="center">![N-Tier Architecture - System Concepts & Tips](https://img.kancloud.cn/61/7e/617e4e31caadd4971eebf373fbf90c90_200x394.png "N-Tier Architecture - System Concepts & Tips") N 層架構圖 根據需要,可以將這三個層進一步細分為不同的子層。 一些采用這種架構的熱門網站是 * MakeMyTrip.com * Sales Force 企業應用 * 印度鐵路– IRCTC * Amazon.com 等 記住一些常用術語,以便更清楚地理解該概念。 * **分布式網絡**:這是一種網絡體系結構,其中位于網絡計算機上的組件僅通過傳遞消息來協調和傳達其動作。 它是位于不同節點上的多個系統的集合,但對用戶而言似乎是一個系統。 * 它提供了一個單一的數據通信網絡,可以由不同的網絡分別進行管理。 * 分布式網絡的示例–在局域網的體系結構中,不同的客戶端一方面連接,另一方面,它們與包含服務節點的服務器機架連接到高速交換機。 * **Client-Server Architecture:** It is an architecture model where the client (one program) requests a service from a server (another program) **i.e.** It is a request-response service provided over the internet or through an intranet. 在此模型中,**客戶端**將用作一組程序/代碼,它們通過網絡執行一組動作。 而**服務器**是另一個程序集,該程序將請求的結果集發送到客戶端系統。 * 在這種情況下,客戶端計算機向最終用戶提供接口,以從服務器請求服務或資源,另一方面,服務器隨后處理該請求并將結果顯示給最終用戶。 * 客戶端-服務器模型的一個示例-ATM 機。 銀行是用于處理大型客戶數據庫中的應用程序的服務器,而 ATM 機是具有用戶界面和一些簡單應用程序處理功能的客戶端。 * **平臺**:在計算機科學或軟件行業中,平臺是可以在其上運行應用程序的系統。 它由硬件和軟件的組合組成,它們具有用于處理器/微處理器執行特定操作的內置指令。 * 簡而言之,平臺是可以運行和執行任何應用程序以獲取特定任務的系統或基礎。 * 平臺示例–裝有 Windows 2000 或 Mac OS X 的個人計算機,作為 2 個不同平臺的示例。 * **數據庫**:它是按組織方式收集的信息,以便可以輕松訪問,管理和更新。 * 數據庫的示例– MySQL, [SQL](/sql.html) 服務器和 Oracle 數據庫是一些常見的 Db。 ## N 層架構的類型 有多種類型的 N 層架構,例如 **3 層架構,2 層架構和 1 層架構。** 首先,我們將看到 3 層架構,這非常重要。 ### 3 層架構 通過查看下圖,您可以輕松識別 **3 層體系結構**具有三個不同的層。 * 表示層 * 業務邏輯層 * 數據庫層 <figure style="text-align: center;"> ![N-Tier Architecture - System Concepts & Tips](https://img.kancloud.cn/bb/d4/bbd4832cbefd944111d103706dd8b6bc_519x404.png "N-Tier Architecture - System Concepts & Tips") 3 層架構圖 在這里,我們以學生形式的簡單示例來理解所有這三個層次。 它具有有關學生的信息,例如–名稱,地址,電子郵件和圖片。 **用戶界面層或表示層** ![N-Tier Architecture - System Concepts & Tips](https://img.kancloud.cn/c5/32/c532af3ea0ec7af1c9dcba98b983dff8_544x88.png "N-Tier Architecture - System Concepts & Tips") **表示層** ``` private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e) { // Object of the Property layer clsStudent objproperty=new clsStudent(); // Object of the business layer clsStudentInfo objbs=new clsStudentInfo(); // Object of the dataset in which we receive the data sent by the business layer DataSet ds=new DataSet(); // here we are placing the value in the property using the object of the //property layer objproperty.id=int.Parse(DataGridl.SelectedItem.Cells[1].Text.ToString()); // In this following code we are calling a function from the business layer and // passing the object of the property layer which will carry the ID till the database. ds=objbs.GetAllStudentBsIDWise(objproperty); // What ever the data has been returned by the above function into the dataset //is being populate through the presentation laye. txtId.Text=ds.Tables[0].Rows[0][0].ToString(); txtFname.Text=ds.Tables[0].Rows[0][1].ToString(); txtAddress.Text=ds.Tables[0].Rows[0][2].ToString(); txtemail.Text=ds.Tables[0].Rows[0][3].ToString(); ``` **代碼說明** * 上面的代碼定義了應用程序前端視圖的基本設計以及其他層功能的調用,以便它們可以彼此集成。 **業務訪問層-** 這是業務層的功能,該功能從應用程序層接收數據并將其傳遞到數據層。 * 業務邏輯充當客戶端層和數據訪問層之間的接口 * 所有業務邏輯(例如數據驗證,計算,數據插入/修改)都寫在業務邏輯層下。 * 它使客戶端和數據層之間的通信更快,更輕松 * 定義完成任務所需的適當工作流程活動。 ``` // this is the function of the business layer which accepts the data from the //application layer and passes it to the data layer. public class clsStudentInfo { public DataSet GetAllStudentBsIDWise(clsStudent obj) { DataSet ds=new DataSet(); ds=objdt.getdata_dtIDWise(obj);// Calling of Data layer function return ds; } } ``` **代碼**的說明 該代碼正在使用業務層的功能,該功能將接受應用程序層的數據并將其傳遞給數據層。 業務層代碼充當表示層和數據層中定義的功能之間的中介,反之亦然。 **數據訪問層** 這是數據層功能,它從業務層接收數據并在數據庫中執行必要的操作。 ``` // this is the datalayer function which is receiving the data from the business //layer and performing the required operation into the database public class clsStudentData // Data layer class { // object of property layer class public DataSet getdata_dtIDUise(clsStudent obj) { DataSet ds; string sql; sql="select * from student where Studentld=" +obj.id+ "order by Studentld; ds=new DataSet(); //this is the datalayer function which accepts the sql query and performs the //corresponding operation ds=objdt.ExecuteSql(sql); return ds; } } ``` **Explanation of code** 在上面的數據集層中定義的代碼接受整個請求:由系統請求并在數據庫中執行所需的操作。 ### 2 層架構: 這就像客戶端-服務器體系結構,在客戶端和服務器之間進行通信。 在這種類型的軟件體系結構中,表示層或用戶界面層在客戶端運行,而數據集層在服務器端執行并存儲。 客戶端和服務器之間沒有業務邏輯層或直接層。 ### 單層或 1 層架構: 這是最簡單的一種,因為它等效于在個人計算機上運行該應用程序。 一個應用程序要運行的所有必需組件都在單個應用程序或服務器上。 表示層,業務邏輯層和數據層都位于一臺計算機上。 ## 多層體系結構的優缺點 | **優勢** | **劣勢** | | * 可擴展性 | * 努力的增加 | | * 數據完整性 | * 復雜度增加 | | * 可重用性 | ? | | * 減少發行量 | ? | | * 增強的安全性 | ? | | * 改進的可用性 | ? | 因此,它是程序的一部分,該程序對現實世界中的業務問題進行加密,并確定如何更新,創建,存儲或更改數據以完成完整的任務。 ## N 層架構提示與開發 考慮到軟件專業人員必須對架構的所有層都擁有完全控制權,因此有關 n 層架構的提示如下所示 1. 通過使用諸如 soap XML 之類的技術,嘗試將層與另一層盡可能地分離。 2. 使用一些自動化工具在業務邏輯層和關系數據庫層(數據層)之間生成映射。 可以幫助建模這些映射技術的工具包括– Entity Framework 和 Hibernate for .Net 等。 3. 在客戶端展示者層中,盡可能將所有客戶端的通用代碼放在單獨的庫中。 這將使所有類型的客戶端的代碼可重用性最大化。 4. 可以將緩存層添加到現有層中以提高性能。 **摘要**: N 層體系結構有助于一站式管理應用程序的所有組件(業務層,表示層和數據庫層)。 在局域網上使用少量用戶的應用程序可以從 n 層體系結構中受益。 這樣的體系結構設計可以確保在 Internet 上高效地維護,擴展和部署應用程序。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看