由于想学习Flask框架,其第一步便是要理解MVC模式的含义,掌握了MVC,才能更好的去构造一个webapp。
1.MVC的概念:
MVC的全名是Model View Controller。是模型-视图-控制器的缩写。一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个 部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用 户界面的结构中。
2.各自的任务:
模型:模型持有所有的数据,状态和程序逻辑。模型独立于视图和控制器。
视图:用来呈现模型。一般来说,视图直接从模型中获取它需要显示的状态和数据。对于相同的信息可以有多个不同的显示形式或者视图。
控制器:位于视图和模型中间,负责接收用户输入,将输入进行解析并且反馈给模型,通常一个视图具有一个控制器。
3.这样分离带来的好处:
(1).一个模型可以由多个视图展示,表现为不同的形式,也能够为一个模型创建新的视图而无需重写模型。一旦模型的数据发生变化,模型将通知视图,对应的试图 将刷新自己。
(2).模型可以复用。由于独立于视图,可以将一个模型独立的移植到新的用户界面。
(3).提高开发效率。
如图所示,当视图用户的输入被Controller(控制器)获取以后,控制器会解析然后改变状态激活模型,模型根据业务逻辑进行数据的维护,最后通知视图数据发生变 化,视图得到通知以后,从模型中获取数据,然后更新自己,最后呈现给用户新的视图。整个流程就好像一个循环。