一、什么是三层体系结构

三层体系结构是在客户端和数据库端之间引入一个“组件层”,并以业务逻辑为核心,将整个项目在逻辑逻辑上分为表现层、业务层、数据访问层。

二、什么是MVC设计思想

M代表model V代表view C代表controller。view即为客户所能看到的页面,controller即为控制器,model即为模型。MVC设计思想主要用于表现层,准确来说 MVC 是以页面为核心,将表现层分为模型、视图、控制器三部分,是基于界面开发的指导思想。

三、三层体系结构的内涵

层与层之间:1.上层依赖下层 2.下层不可依赖上层,上层对下层是不可见的。3.层与层之间通过接口联系。

表现层负责用户界面的交互,表现层不能直接访问数据。业务层负责数据的传递和业务方法的处理,业务层不能直接访问数据库,而是要通过数据访问层提供的接口实现数据的调用。数据访问层负责数据的处理工作,封装了所有与数据库的交互操作。

四、MVC设计思想的内涵

web中引入MVC设计思想是为了实现表现层与业务层的分离,MVC提供了视图与模型分离的机制--控制器。一般把跳转关系的管理、表单数据的封装、国际化、验证等任务交给控制器处理。

controller、view、model并不像三层体系结构那样存在上下层的关系,各层之间是平行的,不是分层模式,而是彼此独立的组件,是相互协作的关系。

controller接受用户的请求,完成视图与模型的匹配,不负责处理业务信息,只是把用户请求的消息传递给模型,告诉模型的做什么,返回符合要求的视图,起到控制业务流程的作用。一个视图可以对应多个模型,一个模型也可以对应多个视图。

model是MVC的核心,负责业务流程/状态、业务规则、数据模型的制定。业务流程的处理对其他层是不可见的。model拥有最多的处理任务,其返回的数据是与格式无关的。这样一个model就可以为多个视图提供数据,提高了代码利用率。

view是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。

五、MVC工作流程

在 MVC 模式中,Web 用户向服务器提交的所有请求都由控制器接管。接受到请求之后,控制器负责决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。

浅析MVC设计思想与三层体系结构

六、关于MVC设计模式的一个比喻

以一个大型餐馆做比喻,model相当于厨师,controller相当于调度人员,view相当于服务员。当有顾客要一份北京烤鸭时,调度人员(controller)负责将任务通知给厨师,然后相应的厨师负责做北京烤鸭,做完后交给服务生,由服务生将最终的餐品呈现给顾客,三者之间各管各的,不能越粗代庖。MVC设计模式提倡分工与专注。