1. 程式人生 > >每日一面試題--MVC思想是什麼?

每日一面試題--MVC思想是什麼?

1.認識兩個類似的名詞!

MVP-Backbone.js(model-view-presenter;模型-檢視-表現類)

MVVM-Knockout.js(model-view-viewmodel;模型-檢視-檢視模型)

---核心:實現了業務邏輯和顯示的分離

1).model(模型)、view(檢視)、control(控制層),是軟體工作中的一種架構模式;

--模型:用於封裝和應用程式的業務邏輯相關的資料和資料處理方法;

--檢視:監聽模型層上的資料改變,並實時更新html頁面,一些事件的註冊和ajax請求操作(釋出事件)也是在檢視層完成;

--控制層:接受使用者操作,訂閱檢視層的事件,呼叫模型更新模型上資料,資料更新後,釋出訊息,檢視層監聽資料變化,更新頁面顯示;

(基本流程)

2)優點:

--耦合性低viewcontrol分離,允許更改view,卻不用修改modelcontrol,很容易改變應用層的資料層和業務規則

--可維護性:分離viewcontrol使得web應用更容易維護和修改(分工明確,邏輯清晰)

3)前端(Angular.jsEmber.js兩個框架為代表)

--view-負責頁面的顯示和樣式展示;

--control-進行節點事件的註冊和控制,以及頁面載入效能的實現;

--Model-邏輯處理,例如popupdrag等元件

*Angular框架的MVC圖解:

 

Model:負責管理應用程式的資料,響應來自檢視的請求,同時也響應指令使控制器自我更新;

View:由控制器決定觸發顯示資料,基於指令碼的模組系統,如jspphp,非常容易用ajax技術整合

Controller:負責響應來自使用者的輸入執行互動資料模型物件,控制器接受到輸入,驗證輸入,然後執行-修改資料模型的狀態-的業務操作

4)後端php:(tp框架典型!)

--view:顯示使用者的互動介面;

--model:完成具體業務邏輯(包括資料庫的crud操作(增加,讀取,更新,刪除)和其他一些常規操作,如檔案上傳,驗證碼);

--control:負責業務的排程