MVC框架每层究竟是用来干什么的
用户输入1的话,点击确定,页面会显示一个老虎的图片
用户输入2的话,点击确定,页面会显示一个狮子的图片
如果使用MVC来写的话,各层都该处理那些内容?
V层是用来显示的,用户输入1或2以及反馈过来的狮子和老虎
M层和C层呢?
是不是M层有N个方法,假如你传入参数是1,那么return给你一个老虎,假如你传入参数是2,那么returne给你一个狮子
而C层则负责获取V层的输入,然后传给M,再接受M层的return然后传给V显示? 展开
MVC模式(三层架构模式)
三层作用:
(控制器Controller)- 负责转发请求,对请求进行处理。
(视图View) - 界面设计人员进行图形界面设计。
(模型Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
MVC框架模式的优点
1.视图:
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia
Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.
如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
2.模型:
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion
Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
3.控制器:
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
简介:
(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长分组三层:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
C 控制器, 把V的数据传递到C 以及逻辑判断
M 模型,建立模型然后把数据返回出去
按照我上面的例子,是不是可以这样理解
V层是输入和显示
C层是判断你输入的是几?如果你输入的是1,就从M层调取老虎,如果是2,就从M层调取狮子,然后返回给V层
M层存了狮子和老虎
是不是这么理解?
module模块。就是把相同的业务封装到一起,它的功能主要是做数据的持久化,就是跟数据库相关的操作。比如把老虎跟狮子的相关信息保存到数据库或从数据库取出或删除。
view 就是展示给用户的页面。用户可以通过可视化的页面把要请求的信息传递给后台然后返回想要的结果展示。
control控制。它就像是一个路由器,连接着视图页面和业务模块。根据不同的请求,它把用户想要的信息从对应的业务模块获取然后反馈到不同的页面给用户。
对应你说的例子,用户请求一只老虎,把消息请求差数1发给C,C去调用动物相关的业务信息。M通过差数把老虎对象取出给C,然后C把拿到的信息反馈给用户界面。