怎样理解MVC三层架构?

来源:百度知道 编辑:UC知道 时间:2024/07/03 02:59:03
我在网上也看不少关于MVC的文章,有不少都说MVC最终的目的是将三层分离,但是数据在MVC三层之间是来回传递的,又怎样能实现了分离呢?

还有我也听说比如用Java web技术开发的时候,一个良好的JSP网页上不能出现<%……%>这种脚本,但是如果用Struts这种框架技术能用Struts里的一套标签库实现,从而取代了<%……%>这种脚本,这又有什么不同?难道使用了自定义标签就能说是良好的MVC架构,而使用脚本就不是了么?

‘一个良好的JSP页面不能出现“<%……%>”’
并不是这样的,只是能不过多的出现而已。这是不同的。
JSP中,“<%……%>”里面的java代码是可以有一些业务逻辑的,而三层架构正是要将业务逻辑从页面中分离出来,因些不要过多的使用“<%……%>”,但根据实际情况,适量的添加一些是可以的。
而MVC呢,实际上其实是一种架构模式,而不应该归入设计模式了,设计模式是在代码层面上说的:你的类都是什么样子的。
MVC,是架构层面是的:你的项目框架是怎么设计的。

MVC就是业务逻辑和页面展现分离,增加代码的可读性,你说的三层分离,数据在三层之间传递这样并不是没有分离,数据传递是必须的,分层的主要目的是解耦,减少代码之间的耦合。
struts正是体现了这一点,用配置文件来实现代码的解耦。
jsp只做页面展现部分,不做业务逻辑,也并不是就没有<%...%>这些东西。

MVC与模板概念的理解
MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。

MVC如何工作

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

视图

视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技