前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MVC的介绍与实践

MVC的介绍与实践

作者头像
Demo_Yang
发布2018-10-15 16:46:33
4850
发布2018-10-15 16:46:33
举报
文章被收录于专栏:yang0rangeyang0range

MVC全称是 Model——View——Controller

模型 ——视图——控制器

其核心在观察者模式,也就是一个基于发布/订阅者模型的框架


MVC在Android中的实现

对于Android而言,其界面部分的开发就涉及模型——视图——控制器 3者的交互

View层 一般采用XML文件

Model层对应数据体

Controller控制器则由Activity承担,一般情况下会在Activity中获取数据以及界面元素,并将两者进行保定,但是其逻辑不能过于复杂。

在Android的UI系统中,控制器Activity主要起到的作用是解耦,将试图View和模型Model进行分离,两者在Activity中进行绑定或者完成其他逻辑。


MVP应用架构模型

MVP能够有效地降低View的复杂性,避免业务逻辑被塞进View中,MVP模式会接触VIew与Model的耦合同时又会带来了良好的扩展性性,可测试性,保证了系统的整洁性,灵活性。

MVP模型可以分离成显示层和逻辑层,它们之间通过接口进行通信,降低耦合。理想化的MVP模式可以实现同一份逻辑搭配不同的显示界面,因为它们之间并不是依赖于具体,而是依赖于抽象,这使得Presenter可以运用任何实现了View逻辑接口的UI,使之具有更广泛的适用性,保证了灵活性。在Android上,业务逻辑和数据存取是紧耦合的,将业务逻辑与View元素严重地偶尔在一起到这了类型膨胀的问题。


MVP模式的三个角色

1.Presenter——交互中间人

Presenter主要作为沟通View和Model的桥梁,它从Model层检索数据后,返回给View层,使得View和Model之间没有耦合,也将业务逻辑从View角色上抽离出来。

2.View——用户界面

View通常是指Activity,Fragment或者某个View控件,它包含了一个Presenter成员变量。通常View需要实现一个逻辑接口,将View上的操作通过会转交给Presenter进行实现,最后,Presenter调用View逻辑接口,将结果返回给View元素。

3.Model——数据的存取

对于一个结构化的App来说,Model角色主要是提供数据的存取功能,Presenter需要通过Model层存储,获取数据,Model就像一个数据包仓库。Model是封装了数据库DAO或者用网络获取数据的角色,或者两种数据获取方式的集合。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.03.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档