一、MVC思想及其优势
1)MVC思想将一个应用分成三个基本部分:Model(模型)、View(视图)和Controller(控制器),这三个部分以最少的耦合协同工作,从而提高应用的可扩展性及可维护性。
2)MVC特点
1、多个视图可以对应一个模型。按MVC设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护。
2、模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例如,使用JSP页面、Velocity模版或者直接产生Excel文档等。
3、应用被分离为三层,降低了各层之间的耦合,提供了应用的可扩展性。
4、控制层的概念也可有效,由于它把不同的模型和不同的视图组合一起,完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。
5、MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。
二、Strust2优点
1、在软件设计上Struts2没有像struts1那样跟ServletAPI有着紧密的螯合,Struts2的应用可以不依赖于ServleAPI和strutsAPI.Struts2的这种设计属于无侵入式设计,而Struts1却属于侵入式设计。
public class OrderListAction extends Action{public ActionForward execute(ActionMapping mapping,ActionForm
form, Http ServleRequest request,Http ServleResponse response)throws Exception{ }}2、Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。3、Struts2提供了类型转换器,我们可以把特殊的请求参数转换需要的类型。在Struts1中,如果我们要实现同样的功能,就必须就Struts1的底层实现BeanUtil注册类型转换器才行。4、Struts2提供支持多样表现层技术,如:JSP、freeMarker、Velocity等。5、Struts2的输入校验可以对指定方法进行校验,解决Struts1长久之痛。6、提供了全局范围、包范围和Action范围的国际化资源文件管理。三、Spring优点
1、低侵入式设计,代码的污染极低。
2、独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once Run Anywhere的承诺。
3、Spring的DI容器降低了业务对象替换的复杂性,提高了组件之间的解耦。
4、Spring的APO支持允许将一些通用任务如安全、事务、日志等进行集中式处理,从而提供了更好的复用。
5、Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。
6、Spring的高度开放性,并不强调应用完全依赖于Spring,开发者可以自由选用Spring框架的部分和全部。
四、Hibernate优点
1、开源和免费的License,方便需要时研究源代码,改写源代码,进行功能定制。
2、轻量级封装,避免引入过多复杂的问题,调试容易,减轻程序员负担。
3、有可扩展性,API开放。功能不够用的时候,自己编码进行扩展。
4、开发者活跃,产品有稳定的发展保障。