1、Framework概念:将相同类型问题的解决途径进行抽象,抽取成为一个应用框架。这就是Framework。
Framework的体系提供了一套明确的机制,从而让开发人员很容易宽展和控制整个Framework开发上的结构;通常,Framework的结构中都有一个“命令和控制”组件(“command and control” component)
通过基于请求响应模式的应用Framework,基本上有如下几个表现逻辑结构组成:
- 控制器(Controller)——控制整个Framework中各个组件的协调工作。
- 业务逻辑层(Business Logic)——对Framework本身来说,这里仅仅只是概念和几个提供服务的基础组件,真正的实现与客户的业务逻辑接轨,还需要开发人员在Framework上再次扩展。
- 数据逻辑层(Data Logic ) ——绝大多数应用系统都需要涉及到数据交互,这一层主要包括了数据逻辑和数据访问接口
2、Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。
Struts的概念和体系结构
Struts有一组相互协作的类、Servlet以及Jsp TagLib组成。基于Struts架构的web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。
3、MVC的概念,MVC结构图
MVC处理过程:
- 首先控制器接收用户的请求,并决定应该调用哪一个模型来进行处理。
- 然后模型根据用户请求进行相应的业务逻辑处理,并返回数据。
- 最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户,
MVC的优点:
- 首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
- 由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松耦合的构件。
- 此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段
MVC的适用范围
- 使用MVC需要精心的计划,由于它的内部原理比较复杂,所以你需要花费一些时间去理解它。将MVC运用到你的应用程序,会带来额外的工作量,增加应用的复杂性。
- 但对于开发存在大量用户界面,并且业务逻辑复杂的大型应用程序,MVC将会使你的软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建MVC框架时会花费一定的工作量,但从长远角度看,它会大大提高后期软件开发的效率。