




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
MVC開發(fā)模式設(shè)計理念每個部分都因其存在于更大整體的背景中而被賦予了特定的形式。這是一個分化的過程。它把設(shè)計看成是一系列復(fù)雜化的活動;結(jié)構(gòu)是通過對整體操作、使其起皺而注入其中的,而不是通過一小部分一小部分添加而成。在分化的過程中,整體孕育了部分:整體的形式及其各個部分是同時產(chǎn)生的。分化過程就好像是胚胎的成長過程。通常我們在設(shè)計軟件時都習(xí)慣于自底向上設(shè)計:先把最底層的工具類實現(xiàn)好,再使用這些工具類實現(xiàn)一些略微高層的類,再通過這些高層的類去組合成更上層的類。這似乎是理所當(dāng)然的:沒有下面的東西,上面的抽象怎么可能正常工作?Alexander卻認(rèn)為,無論是設(shè)計什么,都應(yīng)該從整體入手,在對整體的不斷細(xì)化中再考慮具體的部分。------------摘自《建筑的永恒之道》為什么要使用MVC-1.簡單化Mvc是一種分治思想,把代碼分層,每層又劃分更小的view,復(fù)雜度下降為原有的1/Nmodelcontroler1controler2View1..view2…view3controler3MVC是一套通用的設(shè)計理論體系,有非常豐富的理論和實踐體系支持。使用它能夠統(tǒng)一思想,降低溝通成本,也能使自我的設(shè)計能力提升一個臺階。為什么要使用MVC-2.實現(xiàn)統(tǒng)一前人修好了橋,沒有必要再摸石頭過河了。MVC類關(guān)系圖Model層最為獨立,只能由controller單向調(diào)用View層一般是指UI組件,不涉及任何業(yè)務(wù)邏輯,如果沒有UI組件,View只是一段html代碼Controller層是一個橋梁,負(fù)責(zé)View與model之間的聯(lián)系。把model層運算的結(jié)果推給view來展示。IOS的MVC(僅供參考)傳送門:/niitlcj/article/details/7276026MVC中的設(shè)計模式觀察者模式----這是最重要的組合模式----幾個小的view由更上層的一個view控制,組成樹狀結(jié)構(gòu)。分治思想的體現(xiàn)。(可選)命令模式-----將交互操作封裝為命令,可以提高重用性(可選)MVC世界交通規(guī)則Model只能由controller調(diào)用不同的Controller之間不能直接通訊,要采用觀察者消息通知。觀察者模式類圖觀察者模式實際上就是我們每天在用的事件綁定。把一個(或多個)回調(diào)函數(shù)與一個字符串建立關(guān)聯(lián)。只要廣播這個字符串,與之關(guān)聯(lián)的回調(diào)函數(shù)就會執(zhí)行。backbone1.Backbone.js是一種重量級javascript
MVC應(yīng)用框架,通過Models進(jìn)行key-value綁定及custom事件處理2.我們主要使用了backbone的命名和聲明規(guī)范,trigger,on事件機制。Backbone.ModelModel.get(在defaults列表里取一個值)Model.set(在defaults列表里存一個值,會觸發(fā)on(“change:xxxxxx”))Model.defaults(存取屬性變量的容器)Model.trigger(觸發(fā)事件。由Backbone.Events提供)Model.on(監(jiān)聽事件。由Backbone.Events提供)Backbone.ViewView.initialize(初始化)View.render(入口函數(shù))View.el(html容器元素聲明)View.events(可以用聲明的方式綁定事件)View.template(html模板字符串聲明)控制反轉(zhuǎn)的實現(xiàn)(由數(shù)據(jù)驅(qū)動界面改變)View層this.model.on(“change:dataSource”,this.render)Model層this.set(“dataSource”,[...])當(dāng)數(shù)據(jù)改變時,由model層的數(shù)據(jù)改變,來觸發(fā)View層的界面重繪。不同View之間的通訊(解除耦合)ViewAthis.model.trigger(“deleteCommand”,{id:1})ViewBthis.model.on(“deleteCommand”,function(args){this.deleleteRefresh(args.id)})觀察者模式的純js實現(xiàn)(完整代碼)MyModel={callbackList:{},on:function(key,func){varcallbackList=this.callbackList;if(callbackList[key]){callbackList[key].push(func);}else{callbackList[key]=[func];}callbackList=null;},trigger:function(key,args){varcallbackList=this.callbackList,currFuns=callbackList[key]||null;if(currFuns){for(vari=0;i<currFuns.length;i++){varfunc=currFuns[i];try{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人員管理學(xué)習(xí)報告
- 肺結(jié)核傳染病知識
- 院子出租整租協(xié)議書
- 預(yù)防夫妻出軌協(xié)議書
- app軟件轉(zhuǎn)讓協(xié)議書
- 鋸末承包合同協(xié)議書
- 車子出租代理協(xié)議書
- 酒店物品交接協(xié)議書
- 車輛短租合同協(xié)議書
- 養(yǎng)殖地租用合同協(xié)議書
- 第五版-FMEA培訓(xùn)教材-新版
- 食品安全與日常飲食智慧樹知到期末考試答案章節(jié)答案2024年中國農(nóng)業(yè)大學(xué)
- PE袋化學(xué)品安全技術(shù)說明書MSDS(聚乙烯塑膠袋)
- 簡明疼痛評估量表
- 七人學(xué)生小品《如此課堂》劇本臺詞手稿
- GB/T 31586.1-2015防護涂料體系對鋼結(jié)構(gòu)的防腐蝕保護涂層附著力/內(nèi)聚力(破壞強度)的評定和驗收準(zhǔn)則第1部分:拉開法試驗
- 大壩安全監(jiān)測培訓(xùn)課件
- 高等數(shù)學(xué)上冊ppt課件完整版
- 電力建設(shè)熱工熱控作業(yè)指導(dǎo)書
- 甲醇及制氫裝置預(yù)試車方案
- 分子的立體構(gòu)型
評論
0/150
提交評論