天天看点

《精通Spring MVC 4》——第2章 精通MVC架构 2.1MVC架构

本节书摘来自异步社区《精通spring mvc 4》一书中的第2章,第2.1节,作者:【美】geoffroy warin著,更多章节内容可以访问云栖社区“异步社区”公众号查看

在本章中,我们将会讨论mvc架构理念以及spring mvc是如何实现这些理念的。

本章将会继续使用上一章的应用,并且会构建一些有意思的功能。目标是设计一个简单的页面,在这个页面上用户可以根据特定的条件(criteria)查询tweet,并将其展现出来。

我们会让spring mvc与一个现代化的模板引擎协作,这个引擎也就是thymeleaf,并且还会试图理解这个框架的内部机制。引导用户在不同的视图间流转,最后,会借助webjars和materialize让应用在外观上看起来更棒。

大多数人对mvc这个缩写应该不会感到陌生。它代表的是模型(model)、视图(view)和控制器(controller),它会将数据和展现层进行解耦,被视为构建用户界面的一种很流行的方式。

自从在smalltalk领域中提出这个理念,并在ruby on rails框架中采用之后,mvc就变得广受欢迎。

如图2-1所示,它的架构可以分为3层。

模型:包含了应用中所需的各种展现数据。

视图:由数据的多种表述所组成,它将会展现给用户。

控制器:将会处理用户的操作,它是连接模型和视图的桥梁。

《精通Spring MVC 4》——第2章 精通MVC架构 2.1MVC架构

图2-1

mvc背后的理念是将视图与模型进行解耦,模型必须是自包含的并且与ui无关。这样的话,基本上就可以实现相同的数据跨多个视图重用。其实,这些视图就是以不同的方式来查看数据。通过钻取(drill down)或使用不同的渲染器(html、pdf),可以很好地阐述这一原则。

控制器会作为用户和数据的中间协调者,它的角色就是控制终端用户的可用行为,并引导他们在应用的不同视图间跳转。