<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # MVC 初學者教程:什么是架構&示例 > 原文: [https://www.guru99.com/mvc-tutorial.html](https://www.guru99.com/mvc-tutorial.html) ## 什么是 MVC 框架? **模型-視圖-控制器(MVC)**框架是一種架構模式,可將應用程序分為三個主要的邏輯組件:模型,視圖和控制器。 因此縮寫為 MVC。 每個體系結構組件均構建為處理應用程序的特定開發方面。 MVC 將業務邏輯層和表示層彼此分離。 傳統上,它用于桌面圖形用戶界面(GUI)。 如今,MVC 體系結構已成為設計 Web 應用程序和移動應用程序的流行方法。 在本教程中,您將了解有關- * [MVC 的歷史](#2) * [MVC 的功能](#3) * [MVC 架構](#4) * [MVC 示例](#5) * [流行的 MVC Web 框架](#6) * [MVC 的優勢:主要優勢](#7) * [使用 MVC 的缺點](#8) * [3 層架構與 MVC 架構](#9) ## MVC 的歷史 * MVC 架構于 1979 年由 Trygve Reenskaug 首次討論 * MVC 模型于 1987 年以 Smalltalk 編程語言首次引入。 * 1988 年,MVC 首次被接受為一般概念 * 近年來,MVC 模式被廣泛用于現代 Web 應用程序中 ## MVC 的功能 * 簡便,無摩擦的可測試性。 高度可測試,可擴展和可插入的框架 * 提供對 HTML 以及 URL 的完全控制 * 利用 ASP.NET,JSP,Django 等提供的現有功能。 * 邏輯分離清晰:模型,視圖,控制器。 應用程序任務的分離即。 業務邏輯,UI 邏輯和輸入邏輯 * SEO 友好 URL 的 URL 路由。 強大的 URL 映射,可理解和可搜索的 URL * 支持測試驅動開發(TDD) ## MVC 架構 <figure style="margin-left: auto;margin-right: auto;"> ![](https://img.kancloud.cn/7a/c1/7ac1e822b8a21c16d8b32f5680068a9f_928x658.png) MVC Architecture Diagram 三個重要的 MVC 組件是: * 模型:包括所有數據及其相關邏輯 * 查看:向用戶顯示數據或處理用戶交互 * 控制器:模型和視圖組件之間的接口 讓我們詳細了解一下此組件: ### 視圖 視圖是應用程序中代表數據表示的部分。 視圖是通過從模型數據收集的數據創建的。 視圖請求模型提供信息,以便其將輸出呈現重新呈現給用戶。 該視圖還表示聊天,圖表和表中的數據。 例如,任何客戶視圖都將包括所有 UI 組件,例如文本框,下拉菜單等。 ### 控制者 控制器是應用程序中處理用戶交互的部分。 控制器解釋來自用戶的鼠標和鍵盤輸入,通知模型和視圖以進行適當更改。 控制器向模型發送命令以更新其狀態(例如,保存特定文檔)。 控制器還將命令發送到其關聯的視圖,以更改視圖的顯示方式(例如,滾動特定文檔)。 ### 模型 模型組件存儲數據及其相關邏輯。 它表示在控制器組件或任何其他相關業務邏輯之間傳輸的數據。 例如,一個 Controller 對象將從數據庫中檢索客戶信息。 它處理數據并發送回數據庫或使用它來呈現相同的數據。 它響應來自視圖的請求,也響應來自控制器的指令以更新自身。 這也是負責維護數據的模式的最低級別。 ## MVC 示例 讓我們從日常生活中看一下 Model View Controller: ### 范例 1: [![](https://img.kancloud.cn/07/fc/07fcceb012ee595c9feef84f69390a9f_479x282.png) ](/images/1/122118_0445_MVCTutorial2.png) * 假設您去一家餐館。 您不會去廚房準備食物,而您肯定可以在家中做飯。 相反,您只需要去那里等服務員來。 * 現在服務員來找您,您只需點菜。 服務員不知道你是誰,你不想要什么,他只是寫下了食物單??的細節。 * 然后,服務員搬到廚房。 在廚房服務員不要準備食物。 * 廚師準備食物。 服務員會得到您的點菜以及餐桌號碼。 * 然后做飯為您準備食物。 他用食材烹飪食物。 假設您點了一份蔬菜三明治。 然后他需要面包,西紅柿,土豆,辣椒,洋蔥,小塊,奶酪等,這些都是從冰箱中獲取的 * 廚師最后把食物交給服務員。 現在,這是服務員的工作,要把這些食物移到廚房外面。 * 現在服務員知道您點了哪些食物以及如何食用。 在這種情況下, ``` View= You Waiter= Controller Cook= Model Refrigerator= Data ``` 再看一個例子 ### 范例 2: [![](https://img.kancloud.cn/54/e1/54e1af688439cd7f927b4c2a27ca1821_602x340.png) ](/images/1/122118_0445_MVCTutorial3.png) 汽車驅動機制是 MVC 模型的另一個示例。 * 每輛汽車都由三個主要部分組成。 * View =用戶界面:(變速桿,面板,方向盤,制動器等) * 控制器機制(引擎) * 型號存儲(汽油或污水箱) 汽車由發動機驅動,從存儲中獲取燃料,但只能使用上述用戶界面設備運行。 ## 流行的 MVC Web 框架 這里是一些流行的 MVC 框架的列表。 * [Ruby on Rails](http://www.rubyonrails.org)) * [Django](http://www.djangoproject.org) * [CakePHP](http://www.cakephp.org) * [這個](http://www.yiiframework.com) * [CherryPy](https://cherrypy.org/) * [Spring MVC](http://www.springsource.org) * [催化劑](http://www.catalyst.org) * 滑軌 * Zend 框架 * CodeIgniter * 拉拉韋爾 * 加油 PHP * 交響樂 ## MVC 的優勢:主要優勢 這是使用 MVC 架構的主要好處。 * 易于代碼維護,易于擴展和增長 * MVC 模型組件可以與用戶分開測試 * 對新型客戶的支持更加輕松 * 各種組件的開發可以并行執行。 * 通過將應用程序劃分為三個單元,可以幫助您避免復雜性。 模型,視圖和控制器 * 它僅使用通過單個控制器處理 Web 應用程序請求的 Front Controller 模式。 * 為測試驅動的開發提供最佳支持 * 它適用于大型 Web 設計人員和開發人員團隊支持的 Web 應用程序。 * 提供關注點的清晰分離(SoC)。 * 搜索引擎優化(SEO)友好。 * 所有的分類和對象彼此獨立,因此您可以分別對其進行測試。 * MVC 允許將控制器上相關動作的邏輯分組在一起。 ## 使用 MVC 的缺點 * 難以讀取,更改,進行單元測試和重用此模型 * 框架導航可能會花費一些時間,因為它引入了新的抽象層,這要求用戶適應 MVC 的分解標準。 * 沒有正式的驗證支持 * 數據的復雜性和效率提高 * 在現代用戶界面上使用 MVC 的困難 * 需要多個程序員進行并行編程。 * 需要具備多種技術知識。 * 維護控制器中的許多代碼 ## 3 層架構與 MVC 架構 | **參數** | **3 層架構** | **MVC 架構** | | 通訊 | 這種類型的架構模式永遠不會直接與數據層通信。 | 所有層都使用三角形拓撲直接通信。 | | 用法 | 3 層:廣泛用于 Web 應用程序,其中客戶端,數據層和中間件在物理上獨立的平臺上運行。 | 通常用于在單個圖形工作站上運行的應用程序。 | ## 摘要 * MVC 是一種架構模式,可將應用程序分為 1)模型,2)視圖和 3)控制器 * 模型:包括所有數據及其相關邏輯 * 查看:向用戶顯示數據或處理用戶交互 * 控制器:模型和視圖組件之間的接口 * MVC 架構于 1979 年由 Trygve Reenskaug 首次討論 * MVC 是一個高度可測試,可擴展和可插入的框架 * 一些流行的 MVC 框架是 Rails,Zend 框架,CodeIgniter,Laravel,Fuel PHP 等。
                  <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>

                              哎呀哎呀视频在线观看