不太爱用mvp。mvp无非就是面向接口编程的一个典型。presenter通过view和model接口的引用,来调用具体实现类实现的方法,这么做的好处是,业务结构清晰,且将来更换实现类超级方便,因为业务结构不用改,就只是实现类摘掉,再换一个就是。虽然明知好处,但还是不太爱用~
今天我们彻底解析一下各个细节
先说MVC:
1.M层:适合做一些业务逻辑处理,比如数据库存取操作,网络操作,复杂的算法,耗时的任务等都在model层处理。
2.V层:应用层中处理数据显示的部分,XML布局可以视为V层,显示Model层的数据结果。
3.C层:在Android中,Activity处理用户交互问题,因此可以认为Activity是控制器,Activity读取V视图层的数据(eg.读取当前EditText控件的数据),控制用户输入(eg.EditText控件数据的输入),并向Model发送数据请求(eg.发起网络请求等)。
再说MVP:
- Presenter 中同时持有 View 以及 Model 的 Interface 引用,而 View 持有 Presenter 的实例。
- 当某个 View 需要展示某些数据时,首先会调用 Presenter 的某个接口,然后 Presenter 会调用 Model请求数据。
- 当Model 数据加载成功后会调用 Presenter 的回调方法通知 Presenter 数据加载完毕,最后 Presenter再调用 View 层接口展示加载后数据。
不太爱用mvp。mvp无非就是面向接口编程的一个典型。presenter通过view和model接口的引用,来调用具体实现类实现的方法,这么做的好处是,业务结构清晰,且将来更换实现类超级方便,因为业务结构不用改,就只是实现类摘掉,再换一个就是。虽然明知好处,但还是不太爱用~
最后:
采用哪种软件设计模式都是为了达到如下目的:
易于维护
易于测试
松耦合度
复用性高
健壮稳定
MVVM:
什么是MVVM , 为什么需要MVVM?
原文连接:http://blog.csdn.net/johnny901114/article/details/50706329
MVVM是Model-View-ViewModel的简写. 它是有三个部分组成:Model、View、ViewModel。
Model:数据模型层。包含业务逻辑和校验逻辑。
View:屏幕上显示的UI界面(layout、views)。
ViewModel:View和Model之间的链接桥梁,处理视图逻辑。
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。