什么是MVC架构?
MVC架构是交互式应用中广泛使用的架构。它将对象按功能进行划分,尽可能地最小化对象之间的耦合度。MVC架构与传统的应用程序架构—输入,处理,输出给用户接口的模型相对应。它们也与基于域的多层企业级WEB应用相对应。
MVC架构将应用分为三层—模型,视图,控制,并减弱它们各自的责任。每一层处理特定的任务并对其它层有特殊的责任。
A. 模型存储业务数据和控制访问与修改业务数据的业务逻辑或操作。表现上看,模型与软件中的函数功能有些相似。当模型改变时会通知视图并为视图提供了查询模型状态的能力。它也为控制器提供了访问封装在模型中的应用功能函数的能力。
B. 视图展示模型中的内容。它访问模型中的数据并完成数据的显示工作。当模型改变时它会即时更新数据的展示。视图也完成将用户的输入传递到控制器的功能。
C. 控制器定义了应用程序的行为。它分派用户的请求然后调用相应的视图来展示。它解析用户的输入然后与模型中完成相应功能的事件处理相匹配。在标准的GUI客户端应用中,用户输入包括点击按钮和选择菜单。在WEB应用中,它们则是WEB层中的HTTP GET和POST请求。控制器选择相应的视图来显示是基于用户与模型相互交互的结果。一个典型的应用是所有相关的功能由一个控制器来处理。一些应用针对不同的客户端类型采用不同的控制器来处理,因为视图的交互与选择可能因客户端类型的不同而有所不同。
MVC架构是交互式应用中广泛使用的架构。它将对象按功能进行划分,尽可能地最小化对象之间的耦合度。MVC架构与传统的应用程序架构—输入,处理,输出给用户接口的模型相对应。它们也与基于域的多层企业级WEB应用相对应。
MVC架构将应用分为三层—模型,视图,控制,并减弱它们各自的责任。每一层处理特定的任务并对其它层有特殊的责任。
A. 模型存储业务数据和控制访问与修改业务数据的业务逻辑或操作。表现上看,模型与软件中的函数功能有些相似。当模型改变时会通知视图并为视图提供了查询模型状态的能力。它也为控制器提供了访问封装在模型中的应用功能函数的能力。
B. 视图展示模型中的内容。它访问模型中的数据并完成数据的显示工作。当模型改变时它会即时更新数据的展示。视图也完成将用户的输入传递到控制器的功能。
C. 控制器定义了应用程序的行为。它分派用户的请求然后调用相应的视图来展示。它解析用户的输入然后与模型中完成相应功能的事件处理相匹配。在标准的GUI客户端应用中,用户输入包括点击按钮和选择菜单。在WEB应用中,它们则是WEB层中的HTTP GET和POST请求。控制器选择相应的视图来显示是基于用户与模型相互交互的结果。一个典型的应用是所有相关的功能由一个控制器来处理。一些应用针对不同的客户端类型采用不同的控制器来处理,因为视图的交互与选择可能因客户端类型的不同而有所不同。
模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。