Android之MVC模式

MVC概述: 

  MVC模式是软件工程中的一种软件架构,Mode(模型)-View(视图)-Controler(控制器)的缩写;

  MVC模式将一个交互式应用程序分为3个组件:

    Model(模型):业务逻辑层,包含核心功能和数据并实现核心业务逻辑

    View(视图):表示层,向用户显示信息 

    Controller(控制器):控制层,处理用户输入,并实现View层跟Model层的协同工作

MVC应用领域:

  具有灵活人机界面的交互方式应用程序:

    可以灵活选择不同的信息显示方式

    可以灵活选择用户的输入方式

  针对不同的用户角色,提供不同的用户界面:

    不同用户具有不同权限,操作方式也有所不同

模型(Model):

  业务逻辑层,封装了业务逻辑和数据

    业务逻辑(软件的核心)

    数据以及访问他们的函数(视图组件使用)

    执行特定应用程序处理的过程(控制代表用户调用)

  模型对用户来说是不可见的(M与V独立)

  模型独立于特定输出表示或者输入方式(M于C独立)

  用户只能通过控制器操作模型(C是M于V之间的桥梁)

视图(View):

  表示层,就是用户看到并与之交互的界面,通常实现数据的输入和输出功能   

  从模型获取数据:

    通过状态查询函数实现

    列如:定时刷新

  向用户显示信息:

    不同的视图使用不同的方法呈现信息

    每个视图组件都有一个更新函数,这个函数被模型变更通知激活

    这个函数被积木哦(此时模型已经变更)后,将使用视图重新和模型一致

    在初始化阶段,视图向模型登记请求变更通知(表)

控制( Controller):

  控制层,起到控制整个业务流程的作用,实现View层跟Model层的协同工作.

  每个视图有一个相关的控制器组件(一一对应)

  用户仅仅通过控制器与系统交互

  控制器组件接受事件,并翻译成输入:

    事件如何发送到控制器由用户界面平台决定

    事件被翻译成为对模型或视图的求情

    如果控制器的行为依赖于模型的状态,那么控制器也需要向模型登记求情变更通知

    例如:用户点击按钮,按钮的事件响应函数将采取响应的措施处理用户要求  

变更-传播机制:

  一个模型可对于多个视图:

    如果用户通过一个视图的控制器改变了模型中的数据,那么依赖于该数据其他视图也应该反应出这样的变化

    一旦模型的数据发生了变化,模型需要通知所有相关的视图做出相应的变化

  维护数据的一致性:

    这个的方式可以通过观察者(Observer)设计模式完成

MVC组件类型的关系和功能图:

   

时间: 2024-07-30 18:43:07

Android之MVC模式的相关文章

Android入门:MVC模式(中)

MVC 模式的最基本概念是分层设计,把我们的代码基于 View(视图).Model(模型).Controller(控制器)进行分类封装,这样做的目的是为了清晰结构,使代码更易维护和扩展. 在上一篇文章中,我们完成了计算器的界面还原,但严格来说并不是真正的 View 类,因为它还没反映视图的逻辑.在这次文章中,我们将编写计算器程序的 View 部分,Let's Go! (注意:这次在代码的注释中写了较多的点,所以可以多看注释部分) 一,初识 Activity Activity(活动)作为 Andr

Android之MVC模式的使用

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑. Model 层处理数据,业务逻辑等: View 层处理界面的显示结果: Controller层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层. 案例: public class

Android 设计模式之MVC模式

说到Android设计模式的MVC模式,估计很多人都是比较熟悉了,这里深入了解一下MVC到底是怎么回事,以ListView为例子讲解. 一.深入理解MVC概念 MVC即Model-View-Controller.M:逻辑模型,V:视图模型,C:控制器. MVC模式下,系统框架的类库被划分为3种:模型(Model).视图(View).控制器(Controller).模型对象负责建立数据结构和相应的行为操作处理.视图对象负责在屏幕上渲染出相应的图形信息展示给用户看.控制器对象负责截获用户的按键和屏幕

Android和MVC

Activity和Android的mvc模式 http://blog.csdn.net/dengshengjin2234/article/details/8502097   //android涉及到的设计模式 http://www.cppblog.com/weiym/archive/2014/07/26/207819.html   //client架构设计 Activity是Android系统中的四大组件之中的一个.能够用于显示View. Activity是一个与用户交互的系统模块,差点儿全部的

Android GUI架构之MVC模式

1. Android UI框架 和其他Java UI框架一样,Android UI框架也是单线程和事件驱动的,采用MVC模式进行组织. 2. MVC模式 M:Model,是应用的核心,也就是应用真正想做的事情. V:View,主要负责渲染界面.整个应用程序界面中的所有视图对象,都是通过一颗对象树来组织的.这颗对象树的根节点就是应用窗口.UI框架通常都是通过先序遍历的方式遍历视图对象树,来逐个视图对象进行渲染. C:Controller,负责响应外部动作,直接与用户进行交互. 3. 其他 (1)所

Android:MVC模式(下)

在上一篇文章中,我们将 View 类单独出来并完成了设计和编写.这次我们将完成 Model 类,并通过 Controller 将两者连接起来,完成这个计算器程序. 模型(Model)就是程序中封装了数据,并定义了操作和处理这些数据的逻辑的对象.在计算器的例子中,就是处理输入的操作数和运算符,并计算返回结果.Let's Go (注意:示例中直接使用 double 类型来处理数据,但严格来说很多语言的浮点数计算都是不精确的) 一,设计模型的接口 在程序构建之初,我们首先考虑的应该是各模块间的封装和扩

前端之Android入门(3) – MVC模式(上)

很多Android的入门书籍,在前面介绍完布局后就会逐个介绍组件,然后开始编写组件使用的例子.每每到此时小伙伴们都可能会有些疑问:是否应该先啃完一本<Java编程思想>学点 Java 知识呢?这些组件会使用了,但如何更好组织起来呢? 其实,Android 和 iOS已经把应用层级别的东西封装得比较简单易用,也配有丰富的文档与之对应,所以倒不必担心如何使用.而实际上,我想让大家通过这个系列的文章更关注和学习下面两点,我也会在例子的选取上多涉及这些方面的知识. 编程的思想.正如学会英语,并不一定就

Android中MVC模型(复合模式)

mvc是model,view,controller的缩写,mvc包括三个部分: 1.模型(model)对象:是应用程序的主体部分,全部的业务逻辑都应该写在该层. 2.视图(view)对象:是应用程序中负责生成用户界面的部分.也是在整个mvc架构中用户唯一能够看到的一层,接收用户的输入,显示处理结果. 3.控制器(control)对象:是依据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,想用用户出发的相关事件,交给m处理. android鼓舞弱耦合和组

前端之Android入门(5) – MVC模式(下)

我们将 View 类单独出来并完成了设计和编写.这次我们将完成 Model 类,并通过 Controller 将两者连接起来,完成这个计算器程序. 模型(Model)就是程序中封装了数据,并定义了操作和处理这些数据的逻辑的对象.在计算器的例子中,就是处理输入的操作数和运算符,并计算返回结果.Let’s Go(注意:示例中直接使用 double 类型来处理数据,但严格来说很多语言的浮点数计算都是不精确的) 一,设计模型的接口 在程序构建之初,我们首先考虑的应该是各模块间的封装和扩展,设计好模块的接