第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

MVC MVVM和MVP三種設(shè)計(jì)模式之個(gè)人理解^_^

標(biāo)簽:
設(shè)計(jì)模式

对于3种设计模式,本人最为熟悉的是MVC,使用最多的也是MVC模式。后来又了解到另外两种模式,不过并没有实际使用过。在网上看到对MVVM和MVP这两种模式的介绍以及与MVC之间的关系说明的文章有很多,这里就说一下自己对这三种模式的看法。

MVC模式:想必大多数对于这个模式并不陌生,因为最初使用的设计模式就是MVC模式。而且这个设计模式被很多热门框架所使用,比如Ruby on Rails,spring Framework,Apple iOS Development and ASP.NET MVC。MVC即Model-View-Controller。

5bd9518300016fa405480178.jpg

Model代表了描述业务路逻辑,业务模型、数据操作、数据模型的一系列类的集合。这层也定义了数据修改和操作的业务规则。

View代表了UI组件。他只负责展示从controller接收到的数据。也就是把model转化成UI。

Controll负责处理流入的请求。它通过View来接受用户的输入,之后利用Model来处理用户的数据,最后把结果返回给View。Controller就是View和Model之间的一个协调者。

它们之间的通信模式如下:

5bd951840001e13110260606.jpg

MVP模式:这个模式把P(Presenter)换成C(Controller)就和MVC很像了。MVP即Model-View-Presenter。

通信模式如下:

5bd9518600016d7610240594.jpg

1. 各部分之间的通信,都是双向的。

2. View 与 Model 不发生联系,都通过 Presenter 传递。

3. View 不部署任何业务逻辑,称为"被动视图",即没有任何主动性,所有逻辑都部署在Presenter那里。

MVP模式关键点:

1.用户和View交互。

2.View和Presenter是一对一关系。意味着一个Presenter只映射一个View。

3.View持有Presenter的引用(个人猜测:应该是通过接口交互,并不直接引用Presenter),但是View不持有Model的引用(个人猜测:即使接口,也不会)。

MVVM模式:将Presenter换成ViewModel,基本上与MVP模式一致。唯一的区别是,它采用双向绑定:View的变动,自动反映在 ViewModel,反之亦然。


5bd9518600015aa210160584.jpg

MVVM模式关键点:

1.用户和View交互。

2.View和ViewModel是多对一关系。意味着一个ViewModel只映射多个View。

3.View持有ViewModel的引用,但是ViewModel没有任何View的信息。

4.View 和ViewModel之间有双向数据绑定关系。


點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消