1.1 MVC架构基础
MVC是一种分层架构,M为Model(模型层)、V为View(视图层)、C是Controller(控制层),默认为三层。
1.View(视图层):负责界面的显示,以及与用户的交互功能,例如各种HTML表单等。
2.Controller(控制层):可以理解为一个分发器,用来决定对于视图发来的请求,需要用哪一个模型来处理,以及处理完后需要跳回到哪一个视图。即用来连接视图和模型。
实际开发中,通常用控制器对客户端的请求数据进行封装(如将form表单发来的若干个表单字段值,封装到一个实体对象中),然后调用某一个模型来处理此请求,最后再重定向到视图(或另一个控制器)。
3.Model(模型层):模型持有所有的数据、状态和程序逻辑。模型接受视图数据的请求,并返回最终的处理结果。
MVC模式的流程如下:浏览器通过视图向控制器发出请求,控制器接收到请求之后通过选择模型进行处理,处理完请求以后再转发到视图,进行视图界面的渲染并做出最终响应。
完整的架构如图所示。
在实际开发过程中,会做裁剪,简化开发,如下图所示
另外在 实际开发的过程中,我们会对MVC进行扩展,如增加一个Service或Business层 业务层。
需要注意的是:MVC架构中,模型层中的模型可以相互调用,如果引入了业务层,我们会允许业务层可以相互调用。控制层不可以相互调用。