MVC架构是随着smalltalk language语言的发展提出的,它是一个著名的用户界面设计架构。经典的MVC架构把一个组件(可认为是整个应用程序的一个模块)划分成三部分组
M model管理这个模块中所用到的数据和值,如某个数据的最大值最小值或者界面上滑动条所在的位置等数据。而V
view 管理模块如何显示给用户,C controller
决定如何处理用户和该模块交互式时候产生的事件
如用户点击一个按钮等。
随着J2EE的规范不断的完善,人们发觉用MVC架构来设计web
application是相当适宜的。m 的角色可以通过delegate
class来实现,servlet 可以充当controller角色 。jsp可以充当view的角色
c
在VIEW的概念下一定要做到无一句JSP代码
我觉得这句话有失偏颇 MVC V是view
没有限制如何访问数据,我们甚至可以在jsp中直接访问数据库只要这个方式是为提供用户界面显示服务,虽然违反了三层模式但并没违反mvc架构。
web application 采用struts框架实现了mvc架构。页面通过formbean和相应的action交互,action根据提交的内容从新归纳提交的数据然后再提交给实现业务逻辑的class。
但是由于formbean和既定taglib无法满足复杂的页面数据显示的需要,我们仍旧需要一些viewhelper
class 来辅助viev端的功能。
设计一个项目我想还是先由三层模式着手,设计好相关的Integration
层和business层方法类然后再考虑presentation 如何和business层的类交互,这才是关键。
实际上在sun的j2ee core pattern中 sturts只是presentation 中front
controller的角色。
delegate class 指实现了business delegate模式的类 具体看Business
Delegate
sturts整个设计框架可以参考这张图
|
|