成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

MVC中的M(model)、MVC總結(jié)

zombieda / 2068人閱讀

摘要:中的總結(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)

V與C

將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

相關(guān)文章

  • JS面向?qū)ο笠?m>MVCm>的面向?qū)ο蠓庋b

    摘要:自己的理解的第一個(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...

    Scliang 評(píng)論0 收藏0
  • JS題目總結(jié):原型鏈/new/json/m>MVCm>/Promise

    摘要:數(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...

    biaoxiaoduan 評(píng)論0 收藏0
  • 關(guān)于m>MVCm>/P 的簡(jiǎn)單介紹

    摘要:模式的核心是為了將模型從視圖控制器中分離出來,從而使得模型獨(dú)立于它們,因此模型不包含對(duì)視圖和控制的引用。 寫在最前面的那些話 相信對(duì)于大多數(shù)小白來說,關(guān)于MVP、MVC設(shè)計(jì)模式肯定是聽過也看到過很多次了,也許也有過一些簡(jiǎn)單了解,但關(guān)于TA的具體概念,如何使用以及具體應(yīng)用等都毫無所知,所以本著許多小伙伴一看到mvp、mvc就一臉懵逼的表情(當(dāng)然也包括本人了⊙▽⊙)#),最近上手一個(gè)基于m...

    snowLu 評(píng)論0 收藏0
  • 談?wù)勄岸?em>MVCm>、MVVM設(shè)計(jì)模式

    摘要:模式的目的是實(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ù) ,而是一種...

    yeyan1996 評(píng)論0 收藏0
  • m>MVCm>,MVP,MVVM淺析

    摘要:的模式之間不同主要是與的數(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ù)傳遞的流程不...

    Vultr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<