|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果你现在开始学到编出像样的APPiOS5可能已经普及了可以直接用ARC(另之前对ARC的了解很粗浅现在开发程序完全可以直接ARCiOS4不支持的weak是有办法替代的用unsafe_unretainedMVP(ModelViewPresenter)形式是出名的MVC(ModelViewController)形式的一个演变版本,今朝它在Android使用开辟中愈来愈主要了,人人也都在会商关于MVP的实际,只是布局化的材料十分少。这就是我写这篇博客的缘故原由,我想勉励人人多介入会商,然后把MVP形式使用在项目开辟中。
甚么是MVP?
MVP形式能够分别显现层和逻辑层,以是功效接口怎样事情与功效的展现能够完成分别,MVP形式幻想化地能够完成统一份逻辑代码搭配分歧的显现界面。起首要廓清就是MVP不是一个布局化的形式,它只是卖力显现层罢了,任什么时候候都能够在本人的项目布局中利用MVP形式。
为何要利用MVP?
我们晓得在Android上逻辑接口和数据存取是紧耦合的,这个成绩能够看看CursorAdapter这个例子,它既交融了适配器,同时也有显现的成份,而cursor很年夜水平上应当是数据数据存取层的。
关于一个可扩大、不乱的使用来讲,我们必要界说各个分别层,究竟,我们不晓得今后还要到场甚么逻辑,是从当地数据库检索数据?仍是从远程的webService中?
MVP形式可让显现界面和数据分别,我们开辟的使用能够分别最少三层,如许也能够举行自力测试。有了MVP我们就能够从Activity平分离年夜部分代码,并且不必单位测试能够对每一个模块举行独自测试了。
怎样在Android上完成MVP?
说到这里,成绩就有点庞大了。完成MVP的体例有良多种,每一个人都能够依据本人的需乞降本人喜好的体例往修改MVP的完成体例,它能够跟着Presenter的庞大水平变更。
在View中需不必要把持进度条?大概是在Presenter处置?另有,谁来决意ActionBar该显现甚么操纵?这是一个困难的决意。这里我会展现我本人的做法,可是我但愿本文成为一个会商怎样使用MVP的中央,由于今朝为止还没有完成MVP的尺度体例。
Presenter
Presenter次要作为相同View和Model的桥梁,它从Model层检索数据后,前往给View层,可是不想典范的MVC布局,由于它也能够决意与View层的交互操纵。
View
View一般来讲是由Activity完成的(大概是Fragment,VIew,取决于app的全体布局),它会包括一个Presenter的援用,最幻想的是Presenter由一个依附注进办理器供应,好比Dagger,不外假如不必注进器的话,就必要自力创立Presenter对象了。View要做的就只是在每次有接口挪用的时分(好比按钮点击后)挪用Presenter的办法。
Model
关于一个布局化的APP来讲,Model次要是通向主范畴层大概逻辑层的通道,假如利用了UncleBobcleanarchitecture的话,Model便可能是一个完成了用例场景的交互工具,这也是我将要在另外一篇文章中会商的一个主题。如今,只需把它看作是给View供应数据的容器就对了。
掌握上面的内容差不多就能写个APP了最好的学习方法就是边写边学自己构想一个小的APP在做的时候遇到问题去找找资料我觉得这样学习比较快也比较扎实下面这些库都是有专门功能的库 |
|