版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
MVC開發(fā)模式設計理念每個部分都因其存在于更大整體的背景中而被賦予了特定的形式。這是一個分化的過程。它把設計看成是一系列復雜化的活動;結構是通過對整體操作、使其起皺而注入其中的,而不是通過一小部分一小部分添加而成。在分化的過程中,整體孕育了部分:整體的形式及其各個部分是同時產(chǎn)生的。分化過程就好像是胚胎的成長過程。通常我們在設計軟件時都習慣于自底向上設計:先把最底層的工具類實現(xiàn)好,再使用這些工具類實現(xiàn)一些略微高層的類,再通過這些高層的類去組合成更上層的類。這似乎是理所當然的:沒有下面的東西,上面的抽象怎么可能正常工作?Alexander卻認為,無論是設計什么,都應該從整體入手,在對整體的不斷細化中再考慮具體的部分。------------摘自《建筑的永恒之道》為什么要使用MVC-1.簡單化Mvc是一種分治思想,把代碼分層,每層又劃分更小的view,復雜度下降為原有的1/Nmodelcontroler1controler2View1..view2…view3controler3MVC是一套通用的設計理論體系,有非常豐富的理論和實踐體系支持。使用它能夠統(tǒng)一思想,降低溝通成本,也能使自我的設計能力提升一個臺階。為什么要使用MVC-2.實現(xiàn)統(tǒng)一前人修好了橋,沒有必要再摸石頭過河了。MVC類關系圖Model層最為獨立,只能由controller單向調用View層一般是指UI組件,不涉及任何業(yè)務邏輯,如果沒有UI組件,View只是一段html代碼Controller層是一個橋梁,負責View與model之間的聯(lián)系。把model層運算的結果推給view來展示。IOS的MVC(僅供參考)傳送門:/niitlcj/article/details/7276026MVC中的設計模式觀察者模式----這是最重要的組合模式----幾個小的view由更上層的一個view控制,組成樹狀結構。分治思想的體現(xiàn)。(可選)命令模式-----將交互操作封裝為命令,可以提高重用性(可選)MVC世界交通規(guī)則Model只能由controller調用不同的Controller之間不能直接通訊,要采用觀察者消息通知。觀察者模式類圖觀察者模式實際上就是我們每天在用的事件綁定。把一個(或多個)回調函數(shù)與一個字符串建立關聯(lián)。只要廣播這個字符串,與之關聯(lián)的回調函數(shù)就會執(zhí)行。backbone1.Backbone.js是一種重量級javascript
MVC應用框架,通過Models進行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模板字符串聲明)控制反轉的實現(xiàn)(由數(shù)據(jù)驅動界面改變)View層this.model.on(“change:dataSource”,this.render)Model層this.set(“dataSource”,[...])當數(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年甲乙雙方關于園林綠化用塑料管材購銷合同
- 2024年標準物資采購合同范本版B版
- 2024年版美團簡化版服務合作合同版B版
- 2024版?zhèn)€人藝術品拍賣銷售代理合同協(xié)議書3篇
- 2024年度通信網(wǎng)絡建設項目招投標代理合同3篇
- 2024外聘講師企業(yè)可持續(xù)發(fā)展戰(zhàn)略培訓合同2篇
- 2024版城市綠化項目承包商生態(tài)借款合同3篇
- 2024版27份教培合同協(xié)議(特殊教育支持)3篇
- 2024版專業(yè)房屋裝修材料配送合同及倉儲服務范本3篇
- 2024年度創(chuàng)新型三方房屋買賣合同書范本3篇
- 《壓力平衡式旋塞閥》課件
- 物聯(lián)網(wǎng)與人工智能技術融合發(fā)展年度報告
- 婦產(chǎn)科醫(yī)生醫(yī)患溝通技巧
- 內(nèi)科學糖尿病教案
- 《高尿酸血癥》課件
- 微量泵的操作及報警處置課件查房
- 云南省昆明市西山區(qū)2023-2024學年七年級上學期期末語文試卷
- 人教版小學數(shù)學四年級上冊5 1《平行與垂直》練習
- 市政設施養(yǎng)護面年度計劃表
- 公差配合與技術測量技術教案
- 堅持教育、科技、人才“三位一體”為高質量發(fā)展貢獻高校力量
評論
0/150
提交評論