成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MVC之父對“模型-視圖-控制器”的最初定義

開發 后端
我創立的Model-View-Controller(MVC)模式作為一個直觀的解決方案,針對的是一個一般性的問題,即讓用戶能夠支配自己從多個角度看到的信息。MVC引起了的關注之多,讓人有點始料不及。有些教材對MVC的改造甚至到了離經叛道的程度,企圖達到讓計算機來控制用戶的悖謬目的。

我創立的Model-View-Controller(MVC)模式作為一個直觀的解決方案,針對的是一個一般性的問題,即讓用戶能夠支配自己從多個角度看到的信息。MVC引起了的關注之多,讓人有點始料不及。有些教材對MVC的改造甚至到了離經叛道的程度,企圖達到讓計算機來控制用戶的悖謬目的。

而MVC的根本目的是在人類頭腦中的心智模型和計算機中的數字模型之間架起一座橋梁。理想情況下,MVC的實現方案與用戶直接查看和操作領域信息的直覺吻合。假如用戶想在不同的上下文中以及/或者以不同的視角看到相同的模型要素,那MVC就有了它的用武之地。

模型

模型,表示知識。它既可能是一個對象(當然,如果僅一個對象就沒多大意思了),也可能是由許多對象組成的結構。

模型及其組成部分是一方,而模型創建者意識中要表現的世界則是另一方,這兩方應該一一對應。自然地,模型的每個節點都應該明確對應于問題的一個部分。

模型的所有節點都應該把問題解決到相同的程度,把面向問題的節點(例如,在日程中添加約會活動)與實現細節(例如,用段落展示)混在一起不容易理解,是應該避免的做法。

視圖

視圖是模型的(可見的)表現。視圖通常會突出模型的某些屬性,同時隱藏其他屬性。從這個意義上講,視圖就像是一個展示過濾器。

視圖依賴于模型(或模型的一部分),通過詢問問題的方式從模型中獲得用于展示的必要數據。視圖通過發送適當的消息,也可以更新模型。這些問題和消息都要按照模型的術語來傳達,由此視圖必須得知道自己所要表現的模型,它的屬性都有什么語義。(比如說,視圖可能會詢問模型的標識符,期待返回一個Text的實例,但它可能并不認為模型就是Text類。)

控制器

控制器是用戶與系統之間的紐帶。它為用戶提供輸入,即它會將相關的視圖顯示在屏幕適當的位置上(供用戶瀏覽查看)。它為用戶提供輸出的手段,即它會向用戶展示菜單以及其他能接受命令和數據的控件。控制器接收到上述的用戶輸出,將其轉換為適當的消息,然后再將這些消息傳遞給一或多個視圖。

控制器不應該當作視圖來用,例如,不能用控制器來畫箭頭以連接視圖的節點。

從另一方面講,視圖也不應該關心用戶輸入,比如鼠標操作或按鍵操作之類的。在任何情況下,都應該能夠在控制器里編寫一個方法,該方法將消息發送到視圖,以便原原本本地再現用戶的命令。

編輯器

控制器負責連接其所有的視圖,這些視圖是該控制器的組成部分。有的視圖會提供一個特殊的控制器,叫編輯器(editor),以便用戶通過它來修改由視圖表現的信息。這種編輯器可以被掛接到控制器與其視圖之間的路徑上,類似于控制器的擴展。編輯完成之后,則從路徑上將編輯器移除并丟棄。

注意,編輯器要通過相關視圖的具體表現來與用戶溝通,因此編輯器與視圖是緊密相關的。控制器通過詢問視圖來獲悉編輯器的存在,除此之外沒有其他適當的信息來源。

原文鏈接:http://www.cn-cuckoo.com/2011/06/22/mvc-originals-2454.html

【編輯推薦】

  1. 詳解ASP.NET MVC 3新的Layout布局系統
  2. ASP.NET MVC中很酷的jQuery驗證插件
  3. MVC開發人員必須擁有的五個工具
  4. 淺談ASP.NET MVC 3中如何使用Model
  5. Java MVC框架性能比較
責任編輯:陳貽新 來源: 李松峰的博客
相關推薦

2011-07-07 16:14:37

Cocoa MVC 模型

2011-08-08 10:46:15

ASP.NET MVC

2009-01-12 11:16:58

控制器控制器行為行為結果

2011-03-08 08:58:37

springmvc

2015-02-09 10:43:00

JavaScript

2009-07-23 11:33:18

2011-07-14 10:28:54

額外域控制器

2019-11-17 22:58:03

Spring MVC控制器編寫

2015-08-07 15:28:46

選取城市控制器源碼

2023-08-13 18:31:45

SDN控制器

2009-07-15 13:46:26

Swing體系結構

2012-02-03 09:06:53

ASP.NET MVC

2015-05-26 10:16:27

SDNSDN控制器

2011-07-12 09:58:42

主域控制器備份域控制器

2011-07-18 13:55:08

2011-07-07 15:01:02

2011-07-12 09:29:10

主域控制器備份域控制器

2015-02-02 09:37:42

SDN控制器

2013-12-18 09:56:20

AngularJS測試

2024-08-05 01:29:47

MVC架構模式分離模型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美日韩精品一区 | 成年免费大片黄在线观看一级 | 91精品国产91久久久久久吃药 | 欧美高清视频一区 | 在线高清免费观看视频 | 日韩在线看片 | 日韩精品一二三区 | 日韩中字幕 | 日韩快播电影网 | 国内精品久久影院 | 国产一区91精品张津瑜 | 国产区精品视频 | 亚洲激情在线观看 | 欧美另类视频 | 国产激情91久久精品导航 | 美女在线观看国产 | 欧美国产精品一区二区三区 | 国产又爽又黄的视频 | 天天影视网天天综合色在线播放 | 中文字幕日韩一区 | 久久精品亚洲欧美日韩久久 | 国产99视频精品免费视频7 | 在线婷婷 | 中文字幕日韩一区二区 | 性生生活大片免费看视频 | av黄色在线观看 | 日操操夜操操 | 国产精品99| 日日骚视频| 亚洲a一区二区 | 九九热在线视频免费观看 | 手机看黄av免费网址 | 欧美精品一区二区在线观看 | 国产1区在线 | 久久综合一区二区三区 | 国产亚洲精品美女久久久久久久久久 | 91在线观看视频 | 国产欧美一区二区精品久导航 | 中文字幕在线中文 | 国产清纯白嫩初高生在线播放视频 | 在线91 |