企业网站带新闻发布功能的建站,澄海手工外发加工网,美团网站建设,专门做水果的网站烦了在Activity中编写太多的代码#xff0c;该app由我来主导。就选择用MVP模式。
概述
MVP是模型#xff08;Model#xff09;、视图#xff08;View#xff09;、主持人#xff08;Presenter#xff09;的缩写#xff0c;分别代表项目中3个不同的模块。
模型#… 烦了在Activity中编写太多的代码该app由我来主导。就选择用MVP模式。
概述
MVP是模型Model、视图View、主持人Presenter的缩写分别代表项目中3个不同的模块。
模型Model
负责处理数据的加载或者存储比如从网络或本地数据库获取数据等
视图View 负责界面数据的展示与用户进行交互
主持人Presenter 相当于协调者是模型与视图之间的桥梁将模型与视图分离开来。 如上图所示View与Model并不直接交互而是使用Presenter作为View与Model之间的桥梁。
其中Presenter中同时持有Viwe层以及Model层的Interface的引用而View层持有Presenter层Interface的引用。
当View层某个界面需要展示某些数据的时候首先会调用Presenter层的某个接口然后Presenter层会调用Model层
请求数据当Model层数据加载成功之后会调用Presenter层的回调方法通知Presenter层数据加载完毕
最后Presenter层再调用View层的接口将加载后的数据展示给用户。这就是MVP模式的整个核心过程。 结合demo的示意图 图片放大看 这样分层的好处就是大大减少了Model与View层之间的耦合度。一方面可以使得View层和Model层单独开发与测试互不依赖。另一方面Model层可以封装复用可以极大的减少代码量。 技巧 先确定Presenter类的方法再推出view和model的方法。步骤1、从页面功能按钮分析得出a登录功能。b清除功能。2、Presenter类就有了login() 和 clear() 方法。3、login()需要用户名和密码。则IView接口有了agetUserName()bgetpawd()cshowprocess() 显示进度条d显示登录结果等等的方法依次类推把IView和IMode的方法推出来。