设计MVP之前,先要确定好以下模块之间是一对多还是一对一的关系:
View ---> Presenter --> Model --> Interface(URL)
就是一个View只会有一个Presenter还是可以有多个?
一个Presenter只会有一个Model还是可以有多个?
一个Model对应一个接口请求还是对应多个?
还有,这些模块之间传递的Result Data数据,在哪一步给截断?
View ___基本类型__> Presenter ___ServerResult___> Model __ServerResult___> Interface(URL)
比如上图表示的就是与Server约定的ServerResult回调到Presenter之后,就被转换或者分解了,View是不知道这个ServerResult的,这样View才是解耦的。
当然ServerResult也可以被截断在Model层。