mvc模式 mvc( 二 )


2、模型
模型表示企业数据和业务规则 。在MVC的三个部件中,模型拥有最多的处理任务 。
例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性 。
3、控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理 。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据 。
常见框架Struts:
Struts是Apache软件基金下Jakarta项目的一部分 。Struts框架的主要架构设计和开发者是Craig R.McClanahan 。Struts 是Java Web MVC框架中不争的王者 。经过长达九年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额 。
但是Struts某些技术特性上已经落后于新兴的MVC框架 。面对Spring MVC、Webwork2这些设计更精密,扩展性更强的框架,Struts受到了前所未有的挑战 。但站在产品开发的角度而言,Struts仍然是最稳妥的选择 。
Struts有一组相互协作的类(组件)、Servlet以及jsp tag lib组成 。基于struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型 。
根据上面对framework的描述,很容易理解为什么说Struts是一个web framework,而不仅仅是一些标记库的组合 。但 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类 。
Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View) 。
在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC和Object Relation Bridge 。在视图层,Struts能够与JSP, Velocity Templates,XSL等等这些表示层组件相结合 。
参考资料:
百度百科-MVC框架

mvc模式 mvc

文章插图
什么是MVC?MVC(模型Model-视图View-控制器Controller)是一种设计模式,
MVC 。V即View.是视图的意思 。C即Controller.是控制器的意思 。而M即Model,是模型的意思 。这三个里.最不容易理解的应该是Model.就是什么是Model,而为什么叫Model 。我先不说为什么叫Model,先解释Controller 。
Controller是控制器的意思,所谓控制器,就是将用户请求转发给模型层,经过处理后把结果返回到界面层展现的一个中间层,那么Controller到底管什么工作呢?先不说.先来看下在Java
Web中这三个层一般的定义,一般在Java
Web里,JSP充当V,Servlet充当C,JavaBean充当M,这里的Servlet管什么工作呢?接受输入,转到Model层去处理,处理结果保存后转发到JSP,然后展现数据 。所以它的功能就是控制器的基本功能,它就管转发,在V和M之间转来转去 。
再来说说M,即Model,在Java
Web里说的是JavaBean,我认识的很多人都把JavaBean误认为是实体类,其实JavaBean有比实体类更丰富的定义,在JavaBean中除了其属性和字段,还可以有行为及其事件,JavaBean可以理解为普通Java对象 。Java普通对象,就是符合Java规范的所有对象,这和实体类完全是两回事 。所以,我认为在MVC中 。业务逻辑和数据访问应该放在Model层,也就是V负责展示数据,Controler除了转发不做业务逻辑 。真正的逻辑事务,数据访问,甚至算法都放到Model去 。
MVC没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别 。当然了 。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是已实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的
mvc是什么MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式 。比如一批统计数据可以分别用柱状图、饼图来表示 。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新 。[1-2]
模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用 。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎 。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点 。[3]

秒懂生活扩展阅读