MVC模式的两种实例
MVC模式
MVC模式提供了数据模型与数据显示的分离,使得两者可以独立演化。
传统MVC
这里传统MVC指以服务器脚本为主的建站方案。例如用PHP生成不同的HTML页面,各个页面之间用锚<a>来链接。
对浏览器发来的请求,服务器首先进行授权认证,然后把这个请求发送(dispatch)到对应的数据处理模块,由该模块(很可能)存取数据,根据模板生成HTML页面会送给浏览器。这个方案由服务器完成MVC所有的部件,浏览器负责显示。MVC对应如下:
- C控制器:请求发送模块
- M模型:数据处理模块
- V视图:显示模板
基于AJAX的MVC
使用Ajax 减轻了浏览器与服务器之间的数据交换,因为一些视图直接在浏览器中生成,服务器只负责响应对数据模型的请求。
- C控制器:浏览器的视图转换模块
- M模型:服务器的数据处理模块
- V视图:浏览器的文档模型(DOM)
总结
在实例化MVC模式的过程中,三个角色可以对应到不同语言实现的对象或模块,其中的消息请求与响应可以对应到内部模块调用或者http消息