1.談?wù)剬?duì)MVC的認(rèn)識(shí)临谱?
答:MVC是放棒,模型(Model)章蚣、視圖(View)涌乳、控制器(Control)的英文首字的縮寫蜻懦,核心思想是:視圖和用戶交互->通過(guò)事件導(dǎo)致控制器改變->控制器改變導(dǎo)致模型改變 或者控制器同時(shí)改變兩者,模型改變導(dǎo)致試圖改變或者試圖改變潛在的從模型里面獲取參數(shù)來(lái)改變自己夕晓。
MVC—一種設(shè)計(jì)典范宛乃,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼征炼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面析既,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯(即把一個(gè)應(yīng)用的輸入谆奥、處理渡贾、輸出流程分離,這樣一個(gè)應(yīng)用被分成三個(gè)層)雄右。MVC被獨(dú)特的發(fā)展起來(lái)用于映射傳統(tǒng)的輸入空骚、處理和輸出功能在一個(gè)邏輯的圖形化界面的結(jié)構(gòu)中。
模型(Model):業(yè)務(wù)流程/狀態(tài)的處理已經(jīng)業(yè)務(wù)規(guī)則的制定擂仍。業(yè)務(wù)流程的處理過(guò)程對(duì)其他層來(lái)說(shuō)是黑箱操作囤屹。模型接受試圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果逢渔。業(yè)務(wù)模型的設(shè)計(jì)是可以說(shuō)是MVC的核心肋坚。
視圖(View):代表用戶交互界面,MVC設(shè)計(jì)模式對(duì)于試圖的處理僅限于視圖上數(shù)據(jù)的采集和處理肃廓,以及用戶的請(qǐng)求智厌,而不包括在視圖上的業(yè)務(wù)流程的處理。
控制(Control):可以理解為從用戶接收請(qǐng)求盲赊,將模型與視圖匹配铣鹏,共同完成用戶請(qǐng)求,但它不做任何的數(shù)據(jù)處理哀蘑。
它的優(yōu)勢(shì):開發(fā)人員可以只關(guān)注整個(gè)結(jié)構(gòu)中的其中某一層诚卸;可以容易的用新的實(shí)現(xiàn)來(lái)替換原有層次的實(shí)現(xiàn),可以降低層與層之間的依賴绘迁;有利于標(biāo)準(zhǔn)化合溺;利于各層邏輯的復(fù)用。
MVC模式同時(shí)提供了對(duì)HTML缀台、CSS和JavaScript的完全控制棠赛。