MVC框架模式(二)

上一篇文章对MVC框架模式做了简要概述并且在文章的最后给出了MVC3个组件之间相互工作的逻辑图,在本文我们将进一步对模型(model)-视图(view)-控制器(controller)各自的概念及他们之间协同工作的原理进行剖析。

模型(Model)

  • 业务逻辑。封装了业务逻辑和数据
  1. 业务逻辑(软件的核心)
  2. 数据以及访问它们的函数(视图组件使用)
  3. 执行特定应用程序处理的过程(控制器代表用户调用)
  • 模型对于用户来说是不可见的(M与V独立)
  • 模型独立与特定输出表示或者输入方式(M与C独立)
  • 用户只能通过控制器操作模型(C是M与V之间的桥梁)

视图View

  • 表示层。就是用户看到并与之交互的界面,通常实现数据的输入和输出功能。
  • 从模型获得数据 。通过状态查询函数实现(例如:定时刷新)
  • 向用户显示信息
  1. 不同的视图使用不同的方法呈现信息
  2. 每个视图组件都有一个更新函数,这个函数被模型变更通知激活
  3. 这个函数被激活(此时模型已经改变)后,将使得视图重新和模型一致
  4. 在初始化阶段,视图向模型登记请求变更通知

控制器Controller

  • 控制层。起到控制整个业务流程的作用,实现View层跟Model层的协同工作。
  • 每个视图有一个相关的控制器组件(一一对应)
  • 用户仅仅通过控制器与系统交互
  • 控制器组件接收事件,并翻译成输入
  1. 事件如何发送到控制器由用户界面平台决定
  2. 事件被翻译成为对模型或者视图的请求
  3. 如果控制器的行为依赖于模型的状态,那么控制器也需要向模型登记请求变更通知(例如:用户点击按钮,按钮的事件响应函数将采取相应的措施处理用户要求)

变更-传播机制

  • 一个模型可以对应多个视图
  1. 如果用户通过一个视图的控制器改变了模型中的数据,那么依赖于该数据的其他视图也应该反映出这样的变化
  2. 一旦模型的数据发生了变化,模型需要通知所有相关的视图做出相应的变化
  • 维护数据的一致性
  1. 这样的方式可以通过观察者(Observer)设计模式完成

时间: 2024-10-09 18:37:46

MVC框架模式(二)的相关文章

MVC框架模式和Javaweb经典三层架构

一.MVC设计模式 1.MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller),即为MVC.它是一种软件设计的典范,最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式. 2.MVC的详解 虽然MVC并不是Java当中独有的,但是现在几乎所有的B/S的架构都

小试Android中使用MVC框架模式

MVC简介 关于MVC网上的说法成千上万,每个人都有自己的理解,下面只是我个人现阶段学习的理解,欢迎指出不足之处~ MVC(Model View Controller 模型-视图-控制器) Model(模型)直接操作数据层(如数据库记录的读写等),通常有最重的处理任务 View(视图) 直接面向用户数据展示界面,接受用户的数据输入并传递给控制层 Controller(控制器)业务逻辑处理层,本身不输出任何东西和做任何处理.它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示

MVC框架模式技术实例(用到隐藏帧、json、仿Ajax、Dom4j、jstl、el等)

前言: 刚刚学完了MVC,根据自己的感悟和理解写了一个小项目. 完全按照MVC模式,后面有一个MVC的理解示意图. 用MVC模式重新完成了联系人的管理系统: 用户需求: 多用户系统,提供用户注册.登录功能,对于没有登录的用户,不允许使用任何功能. 可以查询.增加和删除联系人信息. 详细设计: 数据结构设计. 功能模块设计. 工具类设计. 搭建初步的项目框架.其他功能:防止用户重复提交.注册和登录时使用验证码. 项目代码在后面. 演示效果: 主页: 注册页面: MVC介绍: MVC全名是Model

简述MVC框架模式以及在你(Android)项目中得应用

标题是阿里电话面试的问题,一直以为自己很清楚MVC模式,结果被问到时,这M.V.C这几者之间的关系都搞不清楚了,最主要是,没法将MVC和Android中各个组件对应起来,所以,面试肯定挂了,不过面试也是学习的一种方式,可以知道大公司看中什么,以及自己还有哪些知识漏洞,例如这次面试就学到了很多东西. 大家也可以在看下面的内容之前,也想想能否把MVC及与Android各个组件的对应关系讲清楚,看是否还有和我一样对MVC一知半解的.  如果写的有问题的地方,欢迎讨论.转载请注明出处:http://ww

Unity3d 基于网络使用SendMessage 及 基于网络使用Delegate的客户端MVC框架模式(一)

作为一个大型游戏,不可避免需要使用复杂的界面.网络消息处理.数据缓存等一些略微复杂的东西.其实我们都知道,对于一个手游来说,庞大的系统工程下面,其实是大量基础的技术的堆叠.于是在游戏开发中,出现各类的Bug其实并不是因为技术上的实现出现问题,而是从框架.代码的管理上出现设计失误. 转载请注明出处 文章出自 http://blog.csdn.net/huutu QQ790621656 http://www.thisisgame.com.cn 针对以上问题,众多软件设计者做出努力,设计出了很多中逻辑

MVC框架模式

backbone:http://www.cnblogs.com/darr/p/4625733.html 什么是MVC模式 模式:一种解决问题的方法 设计模式  :工厂模式.适配器模式.观察者模式等 框架模式  :MVC.MVP.MVVM等(框架模式里有很多设计模式) MVC: M-Model V-View C-Controller(连接M和V) 2. MVC模式的思想 把M和V分开 服务器端MVC模式非常容易实现 MVC代码例子:

MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)

前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个更加清晰的认识. 本文原创地址:http://www.cnblogs.com/landeanfen/p/6000978.html 这篇博主打算从零开始一步一步来加上MVC里面用到的一些技术,整篇通过三个版本,逐步完善. 一.版本一:搭建环境,实现MVC请求 通过上篇的介绍,我们知道,MVC里面两个最

简单的JAVA MVC框架模式--Java-servlet-JavaBean

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码 此框架模式是一个简单的解决个人所得税计算的业务逻辑 servlet import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import ja

Android MVC框架模式

MCV  model view controller  模型-视图-控制写 M层:适合做一些业务逻辑处理,比如数据库存取操作,网络操作,复杂的算法,耗时的任务等都在model层处理. V层:应用层中处理数据显示的部分,XML布局可以视为V层,显示Model层的数据结果. C层:在Android中,Activity处理用户交互问题,因此可以认为Activity是控制器,Activity读取V视图层的数据(eg.读取当前EditText控件的数据),控制用户输入(eg.EditText控件数据的输入