摘要:中的總結(jié)封裝重點(diǎn)明白的封裝這篇博客的源代碼是我的正在寫的在線簡(jiǎn)歷博客是繼上一篇寫的完整代碼項(xiàng)目暫未完成預(yù)覽地址在本地預(yù)覽項(xiàng)目的時(shí)候用的將代碼變得有結(jié)構(gòu)與將的代碼封裝為模式先分離和讓代碼看上去有條理修改后的結(jié)構(gòu)完整代碼操縱數(shù)據(jù)的模塊是操縱數(shù)
MVC中的M(model)、MVC總結(jié) MVC封裝message.js(重點(diǎn)明白M的封裝)
這篇博客的源代碼是我的正在寫的在線簡(jiǎn)歷,博客是繼上一篇寫的
完整代碼(項(xiàng)目暫未完成)
預(yù)覽地址
在本地預(yù)覽項(xiàng)目的時(shí)候用的http-server
將代碼變得有結(jié)構(gòu)
將message.js的代碼封裝為MVC模式,
先分離V和C,讓代碼看上去有條理
修改后的結(jié)構(gòu):
完整代碼message.js
M(model)操縱數(shù)據(jù)的模塊model是操縱數(shù)據(jù)的模塊,所以將LeanCloud封裝為操作數(shù)據(jù)的對(duì)象.將初始化和操縱數(shù)據(jù)的方法封裝在model里:
fetch()和save()返回promise,以便后面的controller調(diào)用
剩下部分的結(jié)構(gòu)修改如下:
將view和model傳入controller,對(duì)其操作
在controller中添加并初始化model
使用model里操縱數(shù)據(jù)的函數(shù)(fetch和save),并對(duì)返回的promise使用.then()繼續(xù)寫成功和失敗后的代碼
controller在調(diào)用fetch()和 save()并接受到返回的Promise之后就可以直接去寫異步代碼,可以寫成功之后和失敗之后要做的事.
操縱數(shù)據(jù)交給model,之后成功或失敗處理,交給controller.在返回的Promise在后面then就好了.至于是成功還是失敗,就要看model層的返回信息了
message.js分離MVC中的M完整代碼
MVC總結(jié)MVC就是把代碼分為三塊
V(view)只負(fù)責(zé)看得見的東西.
M(model)只負(fù)責(zé)跟數(shù)據(jù)相關(guān)的操作,不會(huì)出現(xiàn)DOM,不會(huì)出現(xiàn)任何的html/css操作.例如model里只會(huì)有初始化數(shù)據(jù)庫(kù),獲取數(shù)據(jù)方法fetch(),保存數(shù)據(jù)的方法save()
C(controller)只負(fù)責(zé)把這些view和model組合起來,找到view,找到model,使用model完成數(shù)據(jù)修改業(yè)務(wù),并修改view的顯示
V:視圖
M:數(shù)據(jù)
C:控制器
MVC是一種代碼組織形式,不是任何一種框架,也不是任何一種技術(shù),只是組織代碼的思想,要做的就是V和M傳給C,C去統(tǒng)籌
至于M,V,C是對(duì)象還是類,都不重要.在js里,MVC分別由三個(gè)對(duì)象去擔(dān)任三個(gè)職責(zé)
MVC的邏輯順序(綠色字)
model專門專注對(duì)于server(服務(wù)器上的數(shù)據(jù)庫(kù))的訪問
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96900.html
摘要:自己的理解的第一個(gè)參數(shù)就是的值如果沒用默認(rèn)是那個(gè)調(diào)用函數(shù)的當(dāng)前的對(duì)象在全局作用域中就是被隱藏的所以不寫且在全局作用于調(diào)用函數(shù)的時(shí)候就是可以使用或者自己指定的指向 JS面向?qū)ο笠?MVC的面向?qū)ο蠓庋b MDNjavascript面向?qū)ο?面向?qū)ο?Object-Oriented) showImg(https://segmentfault.com/img/remote/1460000016...
摘要:數(shù)據(jù)管理,包括數(shù)據(jù)邏輯數(shù)據(jù)請(qǐng)求數(shù)據(jù)存儲(chǔ)等功能。負(fù)責(zé)處理的事件,并更新也負(fù)責(zé)監(jiān)聽的變化,并更新,控制其他的所有流程。上面代碼就是一個(gè)最簡(jiǎn)單的類,構(gòu)造函數(shù)創(chuàng)建出來的對(duì)象自身有屬性,其原型上面有一個(gè)屬性。 JS題目總結(jié):原型鏈/new/json/MVC/Promise 1原型鏈相關(guān) showImg(https://segmentfault.com/img/remote/14600000161...
摘要:模式的核心是為了將模型從視圖控制器中分離出來,從而使得模型獨(dú)立于它們,因此模型不包含對(duì)視圖和控制的引用。 寫在最前面的那些話 相信對(duì)于大多數(shù)小白來說,關(guān)于MVP、MVC設(shè)計(jì)模式肯定是聽過也看到過很多次了,也許也有過一些簡(jiǎn)單了解,但關(guān)于TA的具體概念,如何使用以及具體應(yīng)用等都毫無所知,所以本著許多小伙伴一看到mvp、mvc就一臉懵逼的表情(當(dāng)然也包括本人了⊙▽⊙)#),最近上手一個(gè)基于m...
摘要:模式的目的是實(shí)現(xiàn)動(dòng)態(tài)的程序設(shè)計(jì),簡(jiǎn)化程序后續(xù)的修改和擴(kuò)展過程,并且使模塊能夠被重復(fù)利用。視圖的可視化表示,表示當(dāng)前狀態(tài)的視圖。出現(xiàn)于年,最大變化在于代替了。其關(guān)鍵改進(jìn)是數(shù)據(jù)綁定,也就是說,的數(shù)據(jù)狀態(tài)發(fā)生變化可以直接影響,反之亦然。 MV模式的目的是實(shí)現(xiàn)動(dòng)態(tài)的程序設(shè)計(jì),簡(jiǎn)化程序后續(xù)的修改和擴(kuò)展過程,并且使模塊能夠被重復(fù)利用。此模式通過簡(jiǎn)化程序使之變得更為直觀。MV不是一種技術(shù) ,而是一種...
摘要:的模式之間不同主要是與的數(shù)據(jù)傳遞的流程不同。所以無論是復(fù)雜化簡(jiǎn)單化還是修改流程,基本都是因?yàn)榧夹g(shù)棧變化了對(duì)應(yīng)做的調(diào)整。實(shí)例實(shí)際項(xiàng)目往往采用更靈活的方式,以為例。用戶可以向發(fā)送指令事件,再由直接要求改變狀態(tài)。與不發(fā)生聯(lián)系,都通過傳遞。 概述 M -V- X 本質(zhì)都是一樣的 重點(diǎn)還是在于M-V 的橋梁要靠 X來牽線。 X的模式之間不同 主要是 M與V 的數(shù)據(jù)傳遞的流程不同。數(shù)據(jù)傳遞的流程不...
閱讀 2822·2021-11-16 11:44
閱讀 982·2021-10-09 09:58
閱讀 4508·2021-09-24 09:48
閱讀 4390·2021-09-23 11:56
閱讀 2417·2021-09-22 15:48
閱讀 1908·2021-09-07 10:07
閱讀 3214·2021-08-31 09:46
閱讀 519·2019-08-30 15:56