Android GUI架构之MVC模式

1. Android UI框架

和其他Java UI框架一样,Android UI框架也是单线程事件驱动的,采用MVC模式进行组织。

2. MVC模式

M:Model,是应用的核心,也就是应用真正想做的事情。

V:View,主要负责渲染界面。整个应用程序界面中的所有视图对象,都是通过一颗对象树来组织的。这颗对象树的根节点就是应用窗口。UI框架通常都是通过先序遍历的方式遍历视图对象树,来逐个视图对象进行渲染。

C:Controller,负责响应外部动作,直接与用户进行交互。

3. 其他

(1)所有UI基本组件,比如按钮、文本框,都是同时实现了视图与控制器。但是视图与控制器是永远不会直接交互的。

(2)Android UI框架是单线程的,也就避免了视图与控制器之间的状态同步工作,保证了UI界面回调的原子性。

(3)不能在事件处理器中进行长时间的任务,否则会导致UI界面卡死,应该委托给另外一个线程处理。

时间: 2024-12-19 23:07:14

Android GUI架构之MVC模式的相关文章

(转)浅析三层架构与MVC模式的区别

MVC模式介绍: MVC全名是Model ViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. MVC是表现层的架构,MVC的Model实际上是View Mod

三层架构和MVC模式

1.三层架构 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高内聚,低耦合"的思想. 1.表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得. 2.业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理. 3.数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添.删除.修改.更新.

软件三层架构和MVC模式的区别

刚开始学习MVC模式的时候,很容易将两个混为一谈,觉得两者一个是中文描述,一个是英文描述(哈哈,很奇怪当时的想法),当深入了解后,发现根本不是一回事啊,遂将两者做一下总结: 1. 从概念上来说: 三层架构是一个分层式的软件体系架构设计,适用于任何一个项目.而MVC是一种设计模式,它是根据项目的具体需求来决定是否使用这个设计模式 .从一个项目开始,首先需要进行架构设计,一般采用分层式的架构设计,即三层架构.在确定了架构设计之后,会根据具体的需求去考虑是否需要应用设计模式,比如说MVC模式,抽象工厂

java 三层架构与mvc模式的解释

三层架构是一种架构模式.分为: 持久层:完成内存数据和磁盘数据的转换,采用Dao模式,建立实体和数据库映射. 表--类 列--(数据库)属性 (ORM对象和关系的映射),主要目的是完成对象数据和关系数据转换 业务层:主要完成业务处理操作,采用事务脚本模式,将一个业务中所有的操作封装成一个方法,保证该方法中,所有的数据库操作,同时成功或者同时失败. 表现层:完成数据的展示和流程的控制,采用 MVC模式. 三层架构与MVC的关系: 表现层 ———–>mvc框架 业务层 ———–>service层

MVC模式的原理

说说MVC模式的原理,Android SDK 中有哪些组件使用到了MVC模式,其基本原理是什么?[国内某著名软件外包公司 2010 年面试题] 答案:MVC 的基本原理就是通过Controller 连接View 和Model.也就是说,当View 中显示的数据变化时(如ListView要删除某个列表项),会通知Controller,而不是直接通知Model.这时Controller接到View的通知后,会在Model 中采取相应的动作(如删除数据库中的某条记录).如果模型的数据发生变化(如插入.

Swing程序最佳架构设计—以业务对象为中心的MVC模式(转)

前言: 我打算写一系列关于Swing程序开发的文章.这是由于最近我在做一个Swing产品的开发.长期做JavaEE程序,让我有些麻木了.Swing是设计模式的典范,是一件优雅的艺术品,是一件超越时代的产品! 有机会作Swing软件的开发,让我非常有感觉! 呵呵,希望有机会能够用Java3D编写软件,那种感觉一定更棒! Java和Swing都是杰作.我这个人对别人一向很挑剔的,能够得到我由衷地赞誉,可想而知它们有多优秀了.奇怪的是,它们居然一直都无法占领桌面市场.有人说这是技术的原因.我认为这应该

Android App的设计架构:MVC,MVP,MVVM与架构经验谈

来源: Android App的设计架构:MVC,MVP,MVVM与架构经验谈 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构如何设计: 我的App需要应用这些设计架构吗? MVC,MVP等架构讲的是什么?区别是什么? 本文就来带你分析一下这几个架构的特性,优缺点,以及App架构设计中应该注意的问题. 1.架构设计的目的 通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合.这样做的好处是使得程序在开发的过程中,开发人员

MVC模式与三层架构的区别

之前总是混淆MVC表现模式和三层架构模式,为此记录下. 三层架构和MVC是有明显区别的,MVC应该是展现模式(三个加起来以后才是三层架构中的UI层) 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了“高内聚,低耦合”的思想. 1.表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得.    2.业务逻辑层(BLL):针对具体问题的操作,也可

浅析MVC模式与三层架构的区别01

三层架构和MVC是有明显区别的,MVC应该是展现模式(三个加起来以后才是三层架构中的UI层)三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了“高内聚,低耦合”的思想.1.表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得.   2.业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理.   3.数据访问层