MVP模式与MVC模式的比较

MVC模式:(model-view-controller)

视图层(view):显示数据

控制层(controller):Android的控制层,通常负责从视图(view)读取数据,控制用户输入,并向模型(model)发送数据

逻辑模型(model):是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

优点:首先就是理解比较容易,技术含量不高,对于开发和维护来说成本不高;耦合性不高,表现层与模型层分离各司其职。

缺点:完全理解MVC并不是很容易,花大规模时间去研究,不适合小型,中等规模的应用程序,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。

总结:

Android中的MVC这个框架并非我们自己完成的,而是由framework给我们搭建好的并提供给我们,在平时的开发中,用Android开发,我们并不常用到MVC模式去脱离Android UI系统构建自己的框架结构。

MVP模式(Model-View-Presenter):

1)Presenter

作为model和view的桥梁,从model层获取数据,返回给view层,使得view和model知之间没有耦合,也将业务逻辑从view中抽离出来。

2)View

用于显示页面,通常指Activity,Fragment或者view空间,它含有一个Presenter成员变量。view需要实现一个逻辑接口(presenter中传入view,在presenter中获取到model返回的数据,进而调用view逻辑接口将数据返回给view元素)。

3)model

用于请求数据,交给presenter。


图1  mvp关系图

工程的主要目录结构,见图2:


图2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容