谷歌官方MVP基础架构总结
项目架构图:
结构图
Activity
全局控制者activity在此MVP架构中更主要的功能是全局的控制者,负责创建Fragment 和 Presenter实例,并把两者绑定起来。
Contract
契约类contract(契约)类 在 MVP 架构中的作用是 统一管理View层和Presenter层的所以接口,这样可以很方便的确定这两层的功能,方便后期的维护。
Fragment
View层官方示例中呢Fragment做为View层的实现,方便后期维护和更改,再者Fragment比较灵活。而且把View层负担的无形中又减轻。
从上面可以看到setPresenter( )方法,该方法呢继承于父类,通过该方法呢View 层就获得Presenter的实例,这样就能调用Presenter 来做操作。其中在Fragment的onResume( )方法中,调用Presenter.start()方法做View层需要的初始加载。
Presenter
presenter层Presenter层中在其构造函数中,得到View层的实例后,就调用View.setPresenter( )方法把实例传递给View层。
在start( )方法中又调用封装好的对于数据的加载和展示。这样呢对于View层和Presenter层就很好的划分出来了。
Model层
官方的model层,对于所以数据渠道的来源和获取加了一层封装。而不是直接放入Presenter层中。当Presenter层需要数据时呢调用model层的对外操作类就好了,并在需要的时候传入回调。
此图更能说明的是Model的结构:
Diagram
此为他人分析model层的链接
网友评论