Model View Controller[MVC] 軟體架構模式

Model View Controller[MVC] 軟體架構模式

Model View Controller[MVC] 軟體架構模式

 


資料來源:http://style77125tech.pixnet.net/blog/post/161639522

https://zh.wikipedia.org/wiki/MVC

 


什麼是MVC?

    1. 表示一種軟體架構模式,把系統分成三個部份: Model、View、Controller

    2. 目的為實作動態程式設計,對於日後程式的修改及擴充更加便利,並讓某部分的程式可以重複利用。

    3. 優點在於複雜度簡化,使程式結構更加直覺。



以下以資料庫系統來介紹MVC的定義

    Model – 資料庫人員進行資料管理及資料庫設計
        描述功能性的演算法以及資料庫與使用者介面之間的資料交換

    View – 美工或UI設計人員進行圖形介面設計及美化
        呈現自Model傳來的資料與使用者互動的網頁

    Controller – 程式設計師編寫程式架構及功能
        1.蒐集使用者於View中所輸入的資料,並決定由哪一支程式進行處理。
        2.接收Model傳回的資料,解析後傳給View呈現


以Android開發來定義(自己認知補充)

    Model -存取網路JSON並分析.java

    View – UI XML定義

    Controller – Activity.java

 

4 thoughts on “Model View Controller[MVC] 軟體架構模式

  1. https://docs.microsoft.com/zh-tw/aspnet/mvc/overview/getting-started/introduction/adding-a-controller

    MVC 代表 模型-視圖控制器。 MVC 是一種模式,用來開發妥善架構、可測試且容易維護的應用程式。 以 MVC 為基礎的應用程式包含:

    M ) :代表應用程式資料的類別,以及使用驗證邏輯來強制執行該資料之商務規則的類別。

    V >v) :您的應用程式用來動態產生 HTML 回應的範本檔案。

    C ) :處理傳入瀏覽器要求的類別、取出模型資料,然後指定將回應傳回給瀏覽器的視圖範本。

  2. https://ithelp.ithome.com.tw/articles/10191216

    模型(Model)
    用於封裝與應用程式的業務邏輯相關的資料以及對資料的處理方法。「 Model 」有對資料直接存取的權力,例如對資料庫的存取。「Model」不依賴「View」和「Controller」,也就是說, Model 不關心它會被如何顯示或是如何被操作。但是 Model 中資料的變化一般會通過一種重新整理機制被公布。為了實現這種機制,那些用於監視此 Model 的 View 必須事先在此 Model 上註冊,從而,View 可以了解在資料 Model 上發生的改變。(比較:觀察者模式(軟體設計模式))

    視圖(View)
    能夠實現資料有目的的顯示(理論上,這不是必需的)。在 View 中一般沒有程式上的邏輯。為了實現 View 上的重新整理功能,View 需要存取它監視的資料模型(Model),因此應該事先在被它監視的資料那裡註冊。

    控制器(Controller)
    起到不同層面間的組織作用,用於控制應用程式的流程。它處理事件並作出回應。「事件」包括用戶的行為和資料 Model 上的改變。

    —————

    https://www.runoob.com/aspnet/mvc-intro.html

    MVC 是一種使用MVC(Model View Controller 模型-視圖-控制器)設計創建Web 應用程序的模式:

    Model(模型)表示應用程序核心(比如數據庫記錄列表)。
    View(視圖)顯示數據(數據庫記錄)。
    Controller(控制器)處理輸入(寫入數據庫記錄)。

  3. Model(模型)-資料結構
    View(視圖)-顯示UI
    Controller(控制器)-輸入&邏輯

  4. https://igouist.github.io/post/2019/12/aspnet-connect-db/

    而 MVC 顧名思義,就是將程式碼分成三個區塊:M、V 和 C。

    Model:演算法、物件、資料處理等。像是數學邏輯、連接資料庫取得資料、狗的物件和拉不拉多的物件等等都放這裡

    View:使用者會看到的部份,網頁的外觀。Html、Css 就是在這區工作。

    Controller:流程控制和資料傳輸。也就是取得使用者傳送來的資料,決定讓哪支程式和哪個頁面出來做事,以及把 Model 送來的資料做處理後丟往 View 等等。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *