MVC:是一种框架设计方式(Model View  Controller),是模型(model)-视图(view)-控制器(controller)的缩写。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。

1.模型(model)它是应用程序的主体部分,主要包括业务逻辑模块和数据模块。模型与      数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一  次就可以被多个视图重用,所以减少了代码的重复性。

2.视图(view) 用户与之交互的界面、在web中视图一般由jsp,html组成。

3.控制器(controller)接收来自界面的请求 并交给模型进行处理 在这个过程中控制器不做任何处理只是起到了一个连接的作用。  

MVC优点:

1.降低代码耦合性。在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其他层中的代码。  

2.有利于分工合作。在MVC模式中,由于按层把系统分开,那么就能更好的实现开发中的分工。网页设计人员可进行开发视图层中的JSP,而对业务熟悉的人员可开发业务层,而其他开发人员可开发控制层。

3.有利于组件的重用。如控制层可独立成一个能用的组件,表示层也可做成通用的操作界面。可以为一个模型在运行时同时建立和使用多个视图。

MVC缺点:

1.增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。  

2.视图层展示依赖与模型层,视图层需要很少的字段,但是模型层全部提供,性能上有一定影响

注意:mvc由于市场的需求,演变出三层框架

三层框架:按照高内聚低耦合的思想,形成一种标准的分层方式。分为三层:界面层(UserInterface layer)、业务逻辑层(BusinessLogic Layer)、数据访问层(Dataaccess layer)。

界面层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。

业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。

数据访问层:也称为是持久层其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。完成CRUD的操作,数据交互及落地。

按照标准创建项目:

View-》控制层-》业务层-》dao层----加上common公用类层