注:本文为译文,原文出处java-design-patterns-in-stories
Struts 2遵循模型-视图-控制器模式. 下面的图展示了Struts 2如何实现MVC的组件.
控制器的工作是讲HTTP请求映射到Action. 这些映射关系通过XML配置文件(struts.xml)或Java注解定义.
Struts 2中的模型就是一些Action. 每个Action都按框架定义好的规则(例如: 包含execute()方法)进行定义和实现. 模式组件包含了数据存储和业务逻辑.
每个Action都是一个请求的封装并被放入值栈内.
视图是MVC模式的表示组件. 在常见JSP文件的前端, 一些其他技术, 例如: tilts, velocity, freemaker等, 可与之结合以提供可扩展的表现层.
MVC模式是Struts 2中最显而易见的模式. 可以阅读其他设计模式文章, 了解其他设计模式.
严格来说, MVC并不是一种设计模式, 而应当是一种软件架构模式, 它将软件系统分为三部分: 模型(Model),视图(View)和控制器(Controller).