Clark To Do The blog of Clark

Java设计模式:MVC

注:本文为译文,原文出处java-design-patterns-in-stories

Struts 2遵循模型-视图-控制器模式. 下面的图展示了Struts 2如何实现MVC的组件.

  • Action - 模型
  • Result - 视图
  • FilterDispatcher - 控制器

每个模块扮演的角色

控制器的工作是讲HTTP请求映射到Action. 这些映射关系通过XML配置文件(struts.xml)或Java注解定义.

Struts 2中的模型就是一些Action. 每个Action都按框架定义好的规则(例如: 包含execute()方法)进行定义和实现. 模式组件包含了数据存储和业务逻辑.
每个Action都是一个请求的封装并被放入值栈内.

视图是MVC模式的表示组件. 在常见JSP文件的前端, 一些其他技术, 例如: tilts, velocity, freemaker等, 可与之结合以提供可扩展的表现层.

MVC模块中的交互

Struts2 MVC Architecture

MVC模式是Struts 2中最显而易见的模式. 可以阅读其他设计模式文章, 了解其他设计模式.

译者补充

严格来说, MVC并不是一种设计模式, 而应当是一种软件架构模式, 它将软件系统分为三部分: 模型(Model),视图(View)和控制器(Controller).

  • 模型(Model) - 处理数据和业务逻辑, 是MVC架构中的核心层, 开发人员在此层实现业务逻辑,算法与数据库交互.
  • 视图(View) - 生成图形用户界面, 以显示与服务端进行交互的数据.
  • 控制器(Controller)- 接收/返回请求, 发送给模型层来处理数据并返回数据给视图层.
comments powered by Disqus