Skip to content

Ervinnn/MVP-Architectural-details

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

1.总体分层架构:Model<->Presenter<->View

架构基本解读: model层与Presenter层可相互联系(通过接口), M层主要用于提供数据(网络,数据库),提供算法和数据存储。 P层主要用于处理业务逻辑(对业务数据和业务逻辑进行解析,分解,从而转发到M层或者V层进行存储或展示),P层可与M,V两层建立双向联系,属于“桥梁”。 V层主要用于数据展示,与用户的交互。

2.架构各层详解:

2.1 Model层:   模型层主要用于数据获取和存储,以及部分复杂算法计算     2.2 Model层细节详解:

Model层之数据获取:model层数据获取主要通过网络,sql,sp等,由于model层是应用程序的“工具”层,工具被替换的可能行比较大,有着高修改的风险,因此,对model层的设计必须是完全解耦,解耦采用的设计模式为:工厂模式(工厂方法,抽象工厂)+观察者模式。   

   具体思想为:将整个model层看成是一个大工厂,里面各项工具类为小工厂,客户端使用时候,必须经过工厂模式进行调用。工厂产品通过观察者接口回调给客户端,客户端不可知道工厂实现具体细节,整个model层及里面各个独立的工具为黑盒。这样保证Model层工具类的替换时候,客户端无需做任何修改(接口方法没有发生改变)。
   
  2.2.1 网络工具:

      网络工具迭代更新较快,为了保证网络工具的可用性和先进性,可能会替换网络工具,因此,在设计之初,就必须对网络工具进行封装,必须保证网络工具没有浸入业务代码,封装采用抽象工厂模式,
 
   //以下为代码:
public void test(){
}

2.2 Presenter层: Presenter层主要用于处理业务逻辑和数据解析,并通知View页面刷新。P层必须持有View层接口,非必须持有model层接口。  

About

Android MVP 设计架构细则(不断补充)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors