[Day 01] 什麼是MVC?能吃嗎? - iT 邦幫忙 | asp.net mvc是什麼
之前在網路上查資料的時候,常常看到有人用這樣的標題再寫,這次鐵人文的開頭就用這個標題來做起頭吧!這一篇是比較理論的部分,也是一個比較基本的概念,基本上是從網路上的文章跟之前看到的文章加上自己的一點心得寫出來的,那到底什麼是MVC呢?Model-View-Controller(MVC)是一種設計模式(designpattern),主要目的是用來簡化應用程式的開發與增強程式的可維護性,其做法是將應用程式分割成以下三個邏輯的元件:模型(Model)用於封裝與應用程式的業務邏輯相關的資料以及對資料的處理方法。「Model」有對資料直接存取的權力,例如對資...
之前在網路上查資料的時候,常常看到有人用這樣的標題再寫,這次鐵人文的開頭就用這個標題來做起頭吧!這一篇是比較理論的部分,也是一個比較基本的概念,基本上是從網路上的文章跟之前看到的文章加上自己的一點心得寫出來的,那到底什麼是MVC呢?
Model-View-Controller(MVC)是一種設計模式(design pattern), 主要目的是用來簡化應用程式的開發與增強程式的可維護性, 其做法是將應用程式分割成以下三個邏輯的元件 :
模型(Model)用於封裝與應用程式的業務邏輯相關的資料以及對資料的處理方法。「 Model 」有對資料直接存取的權力,例如對資料庫的存取。「Model」不依賴「View」和「Controller」,也就是說, Model 不關心它會被如何顯示或是如何被操作。但是 Model 中資料的變化一般會通過一種重新整理機制被公布。為了實現這種機制,那些用於監視此 Model 的 View 必須事先在此 Model 上註冊,從而,View 可以了解在資料 Model 上發生的改變。(比較:觀察者模式(軟體設計模式))
視圖(View)能夠實現資料有目的的顯示(理論上,這不是必需的)。在 View 中一般沒有程式上的邏輯。為了實現 View 上的重新整理功能,View 需要存取它監視的資料模型(Model),因此應該事先在被它監視的資料那裡註冊。
控制器(Controller)起到不同層面間的組織作用,用於控制應用程式的流程。它處理事件並作出回應。「事件」包括用戶的行為和資料 Model 上的改變。
使用MVC來進行網路應用程式開發有很多優點, 包含程式碼簡潔與程式升級的彈性, 但最為人稱讚的優點在於可以將一個專案的開發分成三個不同的角色來增加協同作業的效率。
Development -對應到MVC中的Model元件, 這部分主要是由熟悉伺服端程式語言(ex:PHP/Python/RoR/ ASP.Net / Perl...etc), 資料庫管理與設計, 資訊架構, 演算法, 以及資料驗證等技術的工程師所負責, 這個角色負責建構應用程式運...