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层接口。