MVC(Model/View/Controller,模型/視圖/控制)

來源:互聯網
上載者:User

MVC由Trygve Reenskaug提出,首先被應用在SmallTalk-80環境中,是許多互動和介面系統的構成基礎。MVC結構是為那些需要為同樣的資料提供多個視圖的應用程式而設計的,它很好的實現了資料層與展示層的分離。MVC作為一種開發模型,通常用於分布式應用系統的設計和分析中,以及用於確定系統各部分間的組織關係。對於介面設計可變性的需求,MVC(Model-View-Controller)把互動系統的組成分解成模型、視圖、控制器三種組件。

視圖組件把表示模型資料及邏輯關係和狀態的資訊以特定形式展示給使用者。它從模型獲得顯示資訊,對於相同的資訊可以有多個不同的顯示形式或視圖。

控制器組件是處理使用者與軟體的互動操作的,其職責是控制提供模型中任何變化的傳播,確保使用者介面於模型間的對應聯絡;它接受使用者的輸入,將輸入反饋給模型,進而實現對模型的計算控制,是使模型和視圖協調工作的組件。

模型組件儲存由視圖顯示,由控制器控制的資料;它封裝了問題的核心資料、邏輯和功能的計算關係,它獨立於具體的介面表達和I/O操作。

模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果使用者通過某個視圖的控制器改變了模型的資料,所有其它依賴於這些資料的視圖都應反映到這些變化。因此,無論何時發生了何種資料變化,控制器都會將變化通知所有的視圖,導致顯示的更新。這實際上是一種模型的變化-傳播機制。模型、視圖、控制器三者之間的關係和各自的主要功能,。

圖 4 MVC組件類型的關係和功能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.