定义
MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。
结构
上图:
首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。然后模型根据用户请求进行相应的业务逻辑处理,并返回数据。最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。
好处
首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种思想能构造良好的松耦合的构件。
此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来连接不同的模型和视图去完成用户的请求,这样控制器可以为构造应用程序提供强有力的手段。
适用范围
使用MVC需要精心的计划,由于它的内部原理比较复杂,所以你需要花费一些时间去理解它。将MVC运用到你的程序,会带来额外的工作量,增加应用的复杂性。
但对于开发存在大量用户界面,并且业务逻辑复杂的大型应用程序,MVC将会使你的软件在健壮性、代码复用和结构方面上一个新的台阶。尽管在最初构建MVC框架时会花费一定的工作量,但从长远角度看,它会大大提高后期软件开发的效率。
小结
MVC对struts2的理解是有很大帮助的,基于Struts架构的web应用程序基本上符合JSPModel2的设计标准,可以说是MVC设计模式的一种变化类型。