面試三

MVC框架

MVC全名是Model View Controller骄酗,是模型(model)-視圖(view)-控制器(controller)的縮寫屁药,一種軟件設計典范,用一種業(yè)務邏輯宿崭、數(shù)據(jù)释牺、界面顯示分離的方法組織代碼,將業(yè)務邏輯聚集到一個部件里面微服,在改進和個性化定制界面及用戶交互的同時四濒,不需要重新編寫業(yè)務邏輯。MVC被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入职辨、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中盗蟆。

MVC開始是存在于桌面程序中的,M是指業(yè)務模型舒裤,V是指用戶界面喳资,C則是控制器,使用MVC的目的是將M和V的實現(xiàn)代碼分離腾供,從而使同一個程序可以使用不同的表現(xiàn)形式仆邓。比如一批統(tǒng)計數(shù)據(jù)可以分別用柱狀圖餅圖來表示伴鳖。C存在的目的則是確保M和V的同步节值,一旦M改變,V應該同步更新榜聂。?[1-2]

模型-視圖-控制器(MVC)是Xerox PARC在二十世紀八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設計模式搞疗,已被廣泛使用。后來被推薦為Oracle旗下Sun公司Java EE平臺的設計模式须肆,并且受到越來越多的使用ColdFusionPHP的開發(fā)者的歡迎匿乃。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處豌汇,但也有一些缺點幢炸。?

MVC 編程模式

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

Model(模型)表示應用程序核心(比如數(shù)據(jù)庫記錄列表)。

View(視圖)顯示數(shù)據(jù)(數(shù)據(jù)庫記錄)拒贱。

Controller(控制器)處理輸入(寫入數(shù)據(jù)庫記錄)宛徊。

MVC 模式同時提供了對 HTML佛嬉、CSS 和 JavaScript 的完全控制。

Model(模型)是應用程序中用于處理應用程序數(shù)據(jù)邏輯的部分闸天。

通常模型對象負責在數(shù)據(jù)庫中存取數(shù)據(jù)巷燥。

View(視圖)是應用程序中處理數(shù)據(jù)顯示的部分。

通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的号枕。

Controller(控制器)是應用程序中處理用戶交互的部分缰揪。

通常控制器負責從視圖讀取數(shù)據(jù)葱淳,控制用戶輸入钝腺,并向模型發(fā)送數(shù)據(jù)。

MVC 分層有助于管理復雜的應用程序赞厕,因為您可以在一個時間內(nèi)專門關注一個方面艳狐。例如,您可以在不依賴業(yè)務邏輯的情況下專注于視圖設計皿桑。同時也讓應用程序的測試更加容易毫目。

MVC 分層同時也簡化了分組開發(fā)。不同的開發(fā)人員可同時開發(fā)視圖诲侮、控制器邏輯和業(yè)務邏輯镀虐。

AMD與CMD區(qū)別

-------------AMD 即Asynchronous Module Definition,中文名是異步模塊定義的意思沟绪。它是一個在瀏覽器端模塊化開發(fā)的規(guī)范

由于不是JavaScript原生支持刮便,使用AMD規(guī)范進行頁面開發(fā)需要用到對應的庫函數(shù),也就是大名鼎鼎RequireJS绽慈,實際上AMD 是 RequireJS 在推廣過程中對模塊定義的規(guī)范化的產(chǎn)出

requireJS主要解決兩個問題

多個js文件可能有依賴關系恨旱,被依賴的文件需要早于依賴它的文件加載到瀏覽器

js加載的時候瀏覽器會停止頁面渲染,加載文件越多坝疼,頁面失去響應時間越長

--------------CMD 即Common Module Definition通用模塊定義搜贤,CMD規(guī)范是國內(nèi)發(fā)展出來的,就像AMD有個requireJS钝凶,CMD有個瀏覽器的實現(xiàn)SeaJS仪芒,SeaJS要解決的問題和requireJS一樣,只不過在模塊定義方式和模塊加載(可以說運行腿椎、解析)時機上有所不同

------------二者區(qū)別:AMD推崇依賴前置桌硫,在定義模塊的時候就要聲明其依賴的模塊夭咬;

CMD推崇就近依賴啃炸,只有在用到某個模塊的時候再去require;

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卓舵,一起剝皮案震驚了整個濱河市南用,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖裹虫,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肿嘲,死亡現(xiàn)場離奇詭異,居然都是意外死亡筑公,警方通過查閱死者的電腦和手機雳窟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匣屡,“玉大人封救,你說我怎么就攤上這事〉纷鳎” “怎么了誉结?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長券躁。 經(jīng)常有香客問我惩坑,道長,這世上最難降的妖魔是什么也拜? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任以舒,我火速辦了婚禮,結果婚禮上慢哈,老公的妹妹穿的比我還像新娘稀轨。我一直安慰自己,他們只是感情好岸军,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布奋刽。 她就那樣靜靜地躺著,像睡著了一般艰赞。 火紅的嫁衣襯著肌膚如雪佣谐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天方妖,我揣著相機與錄音狭魂,去河邊找鬼。 笑死党觅,一個胖子當著我的面吹牛雌澄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杯瞻,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼镐牺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了魁莉?” 一聲冷哼從身側響起睬涧,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤募胃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后畦浓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痹束,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年讶请,在試婚紗的時候發(fā)現(xiàn)自己被綠了祷嘶。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡夺溢,死狀恐怖抹蚀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情企垦,我是刑警寧澤环壤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站钞诡,受9級特大地震影響郑现,放射性物質發(fā)生泄漏。R本人自食惡果不足惜荧降,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一接箫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧朵诫,春花似錦辛友、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至脱盲,卻和暖如春邑滨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背钱反。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工掖看, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人面哥。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓哎壳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尚卫。 傳聞我的和親對象是個殘疾皇子归榕,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,101評論 1 32
  • Object-c的類可以多重繼承么?可以實現(xiàn)多個接口么?Category是什么?重寫一個類的方式用繼承好還是分類好...
    WSGNSLog閱讀 190評論 0 0
  • Object-c的類可以多重繼承么?可以實現(xiàn)多個接口么?Category是什么?重寫一個類的方式用繼承好還是分類好...
    JonesCxy閱讀 250評論 0 1
  • 介紹js的基本數(shù)據(jù)類型。 介紹js有哪些內(nèi)置對象焕毫? 說幾條寫JavaScript的基本規(guī)范蹲坷? JavaScript...
    幺加幺閱讀 2,013評論 4 98
  • 1.描述MVC 基于java的web應用系統(tǒng)采用MVC設計模型驶乾,即用Model(模型)邑飒,View(視圖)循签、和Con...
    Aluha_f289閱讀 261評論 0 1