mvp part1 android-mvp-architecture

If you make your foundations strong, then you can rise high and touch the sky.


MVP将应用程序划分为三个基本组件:
Model:它负责处理应用程序的数据部分。
View:它负责在屏幕上设置特定数据的视图。
Presenter:它是连接一个模型和一个视图的桥梁。


MVP为上述组件制定了一些基本规则,如下所示:


1View的唯一职责是根据Presenter的指示绘制UI。

2View将所有用户交互委托给Presenter

3View从不直接与Model通信。

4Presenter 的作用就是把View的需求授权给Model ,并且指导View的行为为了某些特定的事件

4The Presenter is responsible for delegating View’s requirements to Model and instructing View with actions for specific events.

5Model负责从服务器、数据库和文件系统获取数据。



Now, I lay down the preamble, I follow for MVP.

1Activity, Fragment, and a CustomView充当应用程序的视图部分。

2每个视图都有一个一对一关系的Presenter

3View通过接口与Presenter通信

4该模型被分成几个部分:apihelper,PreferenceHelper,databasehelper,和filehelper。这些都是来个DataManager,这些都是DataManager的帮手,负责联系所有的Model 

5Presenter 通过DataManager 接口进行通信


当用一个简单的活动示例解释时,MVP看起来非常简单,但当我们尝试将应用程序的所有组件绑定在一起时,我们会感到不知所措。



对于任何软件来说,架构是第一件应该做的事情。精心设计的架构将在将来减少大量返工,同时提供可伸缩性。今天的大部分项目都是在一个团队中开发的,因此代码可读性和模块化应作为体系结构中最重要的元素。我们还很大程度上依赖于第三方库,并且由于用例、bug或支持而不断地在备选方案之间切换。因此,我们的架构应该设计为即插即用设计。类的接口用于此目的。


上面提到的Android架构蓝图包含了所有这些特性,并基于MVP的原则


让我们了解一下草图结构的每一部分。

View:它是应用程序的一部分,它呈现UI并接收来自用户的交互。活动,片段,和customview构成部分。

MvpView:这是一个接口,在view中去实现。它包含暴露于其Presenter 进行通信的方法

Presenter:这是视图的决策,是一个纯粹的java类,没有进入Android的API。它接收从其视图传递的用户交互,然后根据业务逻辑做出决定,最后指示视图执行特定的操作。它也与任何需要执行的业务逻辑数据DataManager的沟通。

MvpPresenter:这是一个接口,这是由Presenter实现。它包含暴露在其view中用于通信的方法。

appdbhelper:数据库管理和处理所有的数据是相关的数据库应用程序,在这一部分完成。
dbhelper接口:它是一个方法和实现的appdbhelper暴露到该应用程序的组件。该层的任何特定实现的解耦,因此使appdbhelper dbhelper和即插即用的装置。

AppPreferenceHelper:这就像appdbhelper而给予的工作,读写数据的共享偏好从Android。
preferencehelper:界面就像DbHelper而实施的apppreferencehelper。
appapihelper:它所管理的网络API调用API数据处理。
ApiHelper:这是一个界面,就像DbHelper而实施的appapihelper。

DataManager:这是一个接口,由appdatamanager实施。它包含用于所有数据处理操作的方法。理想情况下,它代表所有辅助类提供的服务。这个DataManager接口扩展用法,preferencehelper和apihelper接口。
appdatamanager:它是在应用程序的任何数据相关的操作与一点。DbHelper,PreferenceHelper,和apihelper只对DataManager。它代表所有针对任何助手的操作。

应用类的实例化appdbhelper(DbHelper变)、AppPreferenceHelper(为preferencehelper变量),appapihelper(ApiHelper变),最后appdatamanager(为DataManager变量)通过用法,preferencehelper和apihelper参考吧。
视图组件实例化它的主持人通过mvppresenter参考。
主持人接收视图组件是指通过mvpview。主持人还接收DataManager。
DataManager存在作为一个单例实例。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值