ReportsiOS Swift && Objective-C手机移动程序开发

MVP工程架构入门 swift版本

2017-07-24  本文已影响95人  遇见猫的大鱼

MVP架构的入门初学篇:

     MVC搞的越来越难做写测试,是时候换一个啦!学习一下MVP的基础概念,做了一个入门的Demo

进阶传送门


 总的来说:

1,MVP (数据层和UI层完全隔离)

2,M数据层(数据库网络文件等与数据相关的数据层)---(不是model)

3,V UIView以及子类+ UIViewConreoller以及子类只是创建UI和刷新数据

4,P中介(用于关联M和V )

      v和p交互解决方案代理(定义交互协议)

      p层关联M层和V层,持有M层对象的引用和V层对象的引用


接下来用展示一些小Demo,类似一个登陆的功能

1,首先创建Model层,实现一个登录的方法login,这一层用于处理数据,但是数据的来源要封装处理,便于拓展:

M层

2,V层实现一个代理,用于P层数据回调给V层

V层协议

3,实现Presenter层

     (1) 持有M和V

(2)实例化

(3)实现一个login方法,调用M层的login方法,这个方法用来给V层调用

(4) 实现V和P的绑定和解绑方法

(5)整体代码,这里在使用

//从m层的的回调,回调到v层去,同样还是通过一个代理实现

self.loginViewDelegate?.onLoginResult(result: result) 

这里的self.loginViewDelegate应该是需要校验的,因为可能为空

4,View层的简单使用

5,到这里小Demo就结束了,感觉每一个View层都要创建协议?好坑爹,从入门到放弃,哈哈哈!但是每一层都分离出来确实好测试很多,单元测试的话

附上2个版本的demo:OCDemo;SwiftDemo

上一篇 下一篇

猜你喜欢

热点阅读