1. 什么是MVC设计模式?
Model是应用对象,通常是应用程序的主体部分,如实现功能的业务数据或业务逻辑;
View是显示部分,通常是程序的输出界面;
Controller是控制器,用来控制和确保M和V的同步。
模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用,已从桌面应用程序开发转向Web开发中。
2. MVC的核心思想:
使用MVC的目的主要是实现逻辑处理层和输出显示层分离,两部分的代码分开,不但代码易于维护,而且大大提高了代码的重用性。如多个视图共享一个模式,可以采用不同的XHML模板,可以使Flash显示,或者WAP界面;对于M来讲,可以方便修改而不至于影响显示层,可以是MySQL移植到Oracle,可以从RDBMS到LDAP等。
3. MVC如何工作?
MVC这种设计模式强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器,它们各自处理自己的任务。
a) 视图是用户看到并与之交互的界面,应用程序的界面或者XHTML的网页;它只负责将输出数据按照一定的布局显示。
b) 模型表示数据处理和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,即模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
c) 控制器,主要是接受用户的输入并调用模型和视图完成操作。控制器接受用户的请求,本身不处理和输出数据,它接受请求,调用模型处理数据,当模型给出处理完的无格式数据,控制器再交给视图,视图负责规定格式显示数据。
MVC的处理过程可以总结为:控制器接受用户请求,并决定调用某个模型;该模型用自己的业务逻辑对请求进行处理并返回数据;控制器再调用某个视图格式化该数据并通过表示层显示给用户。
4. 使用MVC:
将MVC设计模式应用于应用程序的开发需要花费时间对整个框架进行设计和分析,分离出M,V,C各个模块,这一过程需要大量的经验,否则可能比较困难。因此,对于小型甚至中型规模的应用程序,采用MVC可能得不偿失。
但对于大型企业级应用程序开发,采用该模式可能比较重要,代码复用性很高,完成的产品健壮性,可扩展性和易于维护性方面等都有很大提高。
因此,当前流行的Sun公司J2EE平台的设计模式即是给予该模式:模型(如javaBean),显示(如jsp),控制(如servlet)。