回覆列表
  • 1 # 不加班的程式猿

    MVC中M代表資料,V代表檢視,C代表控制器

    我認為模型最容易理解,因為它是被使用和操縱的資料。模型通常繫結到資料庫表,模型的一個例項代表一個表中的一行資料。請注意,如果您有兩個相關的表格,例如員工和部門,那麼這些表格將由兩個單獨的模型表示,而不是一個。你想保持你的模型儘可能原子。模型的一個不太明顯但仍然有效的用途是用於表示非永久性資料片段。例如,如果您的網站有聯絡表單,那麼在透過電子郵件傳送出去之後不需要這些資料,但在此之前必須用模型表示(為了執行驗證等)。模型不僅代表資料,而且代表資料的常見操作,從驗證例程到更改資料(例如,從提交的文字中剝離HTML標籤)。

    在Web開發中,檢視也很簡單:檢視包含HTML。我使用過的大多數框架(我在Yii,Zend和Ruby on Rails方面擁有最多的經驗)使用一個充當主要佈局的頁面。例如,該頁面將開始並完成HTML。其他檢視頁面表示介面的各個方面,例如表單,多個記錄的列表或單個記錄的顯示。然後將這些單獨的片段放入主佈局檔案中以生成完整的輸出。

    檢視不僅包含HTML,還包含一些Python(或其他語言)。這樣的程式碼應該只執行非常簡單的任務,比如列印一個變數的值。一個常見的初學者的錯誤是將過多的程式設計(即邏輯)放入Views中。 View中的目標是將資料和簡報組合起來以建立介面。觀點不應該“思考”很多。例如,一個View可能會使用一個條件,以便它只打印一個變數,如果它有一個值,或者使用迴圈打印出陣列的每個成員,但View不應該對資料進行嚴格的格式化或修改。假設您有一個頁面,該頁面還顯示登入使用者在網站上註冊的時間。原始註冊日期將來自資料庫(即成為模型的一部分),並將生成的計算結果顯示在檢視中,但實際計算應發生在模型中,而不是檢視(或控制器)中。

    控制器通常充當模型和檢視之間的粘合劑,儘管它並不總是那麼清楚。 (事實上,MVC的區別很容易模糊。)正如我所說的,Controller表示一些操作:模型和檢視完成的事情。模型操作包括從資料庫中檢索單個記錄或檢索所有記錄。檢視操作是對使用者事件的響應:提交表單,載入頁面等

  • 中秋節和大豐收的關聯?
  • 青貝和川貝的區別?