MVC设计模式
在学习上个小节时,提到了MVC设计模式,它是施乐帕克研究中心在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,提供了一种按功能对软件进行模块划分的方法。MVC模式将软件程序分为3个核心模块:模型(Model)、视图(View)和控制器(Controller) ,这三个模块的作用如下所示:
1、模型(Model)
模型负责管理应用程序的业务数据以及定义访问控制和修改这些数据的业务规则。当模型的状态发生改变时,它会通知视图发生改变,并为视图提供查询模型状态的方法。
2、视图(View)
视图负责与用户进行交互,它从模型中获取数据向用户展示,同时也能将用户请求传递给控制器进行处理。当模型的状态发生改变时,视图会对用户界面进行同步更新,从而保持与模型数据的一致性
3、控制器(Controller)
控制器是负责应用程序中处理用户交互的部分,它负责从视图中读取数据,控制用户输入,并向模型发送数据。为了帮助大家更加清晰直观地看到这三个模块之间的关系,接下来通过一张图来描述MVC组件类型的关系和功能图,如图1所示。
图1 MVC模型组件类型的关系和功能图
从图1可以看出,这三个模块的关系,借助这个图例我们来梳理一下MVC模式的工作流程。当控制器接收到用户的请求后,它根据请求信息调用模型组件的业务方法,控制器调用模型组件处理完毕后,根据模型的返回结果选择相应的视图组件来显示处理结果和模型中的数据。