MVP工程架构入门 swift版本

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容