mvc的真实含义

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用

MVC应用程序被分成三个核心部件:模型(M)视图(V)控制器(C),它们各自处理自己的任务。

视图 :

  视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

模型 :

  模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

控制器 :

  控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。

  现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

mvc的真实含义

时间: 2024-10-08 09:13:46

mvc的真实含义的相关文章

android:layout_weight的真实含义

首先声明只有在Linearlayout中,该属性才有效.之所以android:layout_weight会引起争议,是因为在设置该属性的同时,设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果.如下所示: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android

android:layout_margin真实含义 及 自定义复合控件 layout()执行无效的问题解决

一.关于layout_margin 搞Android时间也不短了,对layout_margin也不陌生了,可最近遇到一个问题让我发现,对它的认识还不够深入全面.大量网络资料上都说,layout_margin指view距离父view的距离.这个说法不够严谨,正确的说法是,距离view的相对view的距离才更准确. 在Linearlayout下,可以认为是距离父view的距离.但在RelativeLayout下则不然,如果view A已经写定在view B的右侧,则view A的layout_mar

Android开发(二十七)——android:layout_weight的真实含义

android:layout_weight的真实含义是:一旦View设置了该属性(假设有效的情况下),那么该 View的宽度等于原有宽度(android:layout_width)加上剩余空间的占比! 含义:原有宽度+剩余空间占比 设屏幕宽度为L,在两个view的宽度都为match_parent的情况下,原有宽度为L,两个的View的宽度都为L,那么剩余宽度为L-(L+L) = -L, 左边的View占比三分之一,所以总宽度是L+(-L)*1/3 = (2/3)L.事实上默认的View的weig

TCP核心概念-慢启动,ssthresh,拥塞避免,公平性的真实含义

本文主要阐述TCP拥塞控制中ssthresh的来历以及为什么拥塞避免探测到丢包的时候,ssthresh会被设置为当前窗口的一半.进入证实内容之前,不得不再次吐槽!目前在网上搜的,任何资料上看的,甚至RFC上,都没有讲明白到底什么是ssthresh,它的值有什么讲究,几乎所有的资料都是在说,如果窗口大于ssthresh,那么就执行线性增窗的拥塞避免阶段,否则执行慢启动...这让几乎所有人记住了这个结论,并且在长期被洗涤之后,很多人对这个不知所以然的事实却表现的不以为然,其实也包括我自己.因此当我明

第2讲 | 网络分层的真实含义是什么?

引 关注协议间的关系,不要单独拆开一个协议来看. Q : 从你的电脑,通过SSH登录到公有云主机里面,都需要经历那些过程?或者说打开一个电商网站,都需要经历哪些过程?说的越详细越好. 网络为什么要分层? 因为,是个复杂程序都要分层. 理解计算机网络中的概念,一个很好的角度是,想象网络包就是一段 Buffer,或者一块内存,是有格式的.同时,想象自己是一个处理网络包的程序,而且这个程序可以跑在电脑上,可以跑在服务器上,可以跑在交换机上,也可以跑在路由器上.你想象自己有很多的网口,从某个口拿进一个网

关于CC这个角色的真实含义的转换过程

过去几十年,CC这个词汇代表的是 china center 的缩写 现在CC的含义是   Computer chairman  的缩写的含义 CCTV和CCAV和其它CC系的所有成员全部强行改宗为 计算机委员会委员长下属的成员 原文地址:https://www.cnblogs.com/comsci/p/11741791.html

using System.Data.SqlClient;的真实含义?

表示在你的代码中引入微软发布的sqlserver数据库的ado.net程序集, 引入后,你就可以使用SqlConnection.SqlCommand等数据库对象来访问sqlserver数据库.

android:layout_margin真实含义 及 自己定义复合控件 layout()运行无效的问题解决

一.关于layout_margin 搞Android时间也不短了.对layout_margin也不陌生了,可近期遇到一个问题让我发现,对它的认识还不够深入全面.大量网络资料上都说,layout_margin指view距离父view的距离.这个说法不够严谨.正确的说法是.距离view的相对view的距离才更准确. 在Linearlayout下,能够觉得是距离父view的距离. 但在RelativeLayout下则不然.假设view A已经写定在view B的右側.则view A的layout_ma

C#中Math.Round() 的真实含义

今天踩了一个坑 Math.Round()函数取四舍五入发现不对,3/2 = 2, 5/2 = 2 网上搜了一下:http://www.cnblogs.com/fanyong/archive/2013/05/30/chinese_round.html C#中的Math.Round()并不是使用的"四舍五入"法.其实在VB.VBScript.C#.J#.T-SQL中Round函数都是采用Banker's rounding(银行家算法),即:四舍六入五取偶.事实上这也是IEEE的规范,因此所