浅谈android mvc、mvp架构思想
2017-04-19 10:37
197 查看
MVC概念
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中M层处理数据,业务逻辑等;V层处理界面的显示结果;C层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层。
安卓中mvc的具体体现
M:业务逻辑和实体模型
V:对应于布局文件
C:对应于Activity/Fragmnent
传统的mvc模型虽然存在着分层的思想但是也存在着一些弊端:
1、随着业务后期越来越复杂,你会发现Activity类会越来越臃肿,极其不易后期的代码维护工作,其主要原因是由于mvc各个层之间的相互引用关系所致---view和model层之间的相互引用。
2、view层和control层分层不是很清晰,view层虽然指的是布局文件,但是真正在布局文件xml中可以做的事情十分局限,包括数据的绑定,事件的处理都是在Activity中进行,使得Activity既像view又像controller
MVP概念
MVP全名是Model View Presenter,该模型是mvc模型的演化版本,既然是演化版本,那么就对应着mvc模型以上提出的弊端的改进;
安卓中mvp的具体体现为:
M:业务逻辑和实体模型
V:对应于Activity,负责view的绘制和交互
P:负责完成View与model之间的交互作用
MVP相对于MVC的有点有很多,比如:
1、减少Activity的职责,简化了Activity中的代码,将复杂的逻辑代码提取到了Presenter中进行处理,耦合度大大降低,方便后期代码维护
2、方便进行单元测试,所有的业务逻辑均放在presenter中,无需在Activity中进行编写测试代码,需要测试prtesenter中的某个功能时,只需要添加具体功能的测试实现类即可
3可有效的避免Activity内存泄漏,具体操作是在Activity销毁时,分离Activity的presenter的引用。
MVC与MVP模式的模型图如下是:
下篇博客来介绍如何实现下mvp架构思想以及避免Activity leak
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中M层处理数据,业务逻辑等;V层处理界面的显示结果;C层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层。
安卓中mvc的具体体现
M:业务逻辑和实体模型
V:对应于布局文件
C:对应于Activity/Fragmnent
传统的mvc模型虽然存在着分层的思想但是也存在着一些弊端:
1、随着业务后期越来越复杂,你会发现Activity类会越来越臃肿,极其不易后期的代码维护工作,其主要原因是由于mvc各个层之间的相互引用关系所致---view和model层之间的相互引用。
2、view层和control层分层不是很清晰,view层虽然指的是布局文件,但是真正在布局文件xml中可以做的事情十分局限,包括数据的绑定,事件的处理都是在Activity中进行,使得Activity既像view又像controller
MVP概念
MVP全名是Model View Presenter,该模型是mvc模型的演化版本,既然是演化版本,那么就对应着mvc模型以上提出的弊端的改进;
安卓中mvp的具体体现为:
M:业务逻辑和实体模型
V:对应于Activity,负责view的绘制和交互
P:负责完成View与model之间的交互作用
MVP相对于MVC的有点有很多,比如:
1、减少Activity的职责,简化了Activity中的代码,将复杂的逻辑代码提取到了Presenter中进行处理,耦合度大大降低,方便后期代码维护
2、方便进行单元测试,所有的业务逻辑均放在presenter中,无需在Activity中进行编写测试代码,需要测试prtesenter中的某个功能时,只需要添加具体功能的测试实现类即可
3可有效的避免Activity内存泄漏,具体操作是在Activity销毁时,分离Activity的presenter的引用。
MVC与MVP模式的模型图如下是:
下篇博客来介绍如何实现下mvp架构思想以及避免Activity leak
相关文章推荐
- Android MVC、MVP架构
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- Android架构之MVC,MVP与MVVM
- MVC---Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- 浅谈 MVC、MVP 和 MVVM 架构模式
- 浅谈MVP架构的实现方式(架构思想)
- 浅谈Android开发中内存泄露与优化与框架模式之MVC与MVP
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- Android进阶笔记07:用MVP架构开发Android应用(MVC 和 MVP)
- 浅谈android 四大组件 以及mvc mvp
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- Android App的设计架构:MVC,MVP,MVVM
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈