MVC框架的理解及代码实现

程序的"架构模式"(architectural pattern),属于编程的方法论。MVC模式就是架构模式的一种,当然还有他的衍生架构:MVP 和 MVVM等。下面是我对MVC模式的一些个人理解,不一定正确,主要用来整理思路。
MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。
这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层。

1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。
2)最底下的一层,是核心的"数据层"(Model),程序需要的数据和信息就是由这一层到数据库取得。
3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。
这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。

下面我们从python编程的角度,对MVC的架构设计做一个代码层面的描述:
假设,我需要写一个图书管理系统,从MVC的角度来分析:首先客户端请求进来是由控制层(Controller),将指定的请求url分发到视图函数。然后,再由视图函数到model取数据,然后在将效果视图(view)展示出来。
下面是代码的展示:
#程序入口

#定义一个model的类文件。

#定义一个view的展示文件

最终展示结果如下图:
flask mvc理解

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: