MVC软件设计模式

一、什么是MVC模式? 它有什么优点?

  MVC即 Model-View-Controller(模型-视图-控制器) 模式。

  • Model (模型) 简而言之即数据模型。模型不是数据本身(比如数据库里的数据),而是抽象的描述数据的构成和逻辑关系。通常模型包括了数据表的各个字段(比如人的年龄和出生日期)和相互关系(单对单,单对多关系等)。数据库里的表会根据模型的定义来生成创建。

  • View (视图) 主要用于显示数据,用来展示用户可以看到的内容或提供用户可以输入或操作的界面。数据来源于哪里?当然是数据库啦。那么用户输入的数据给谁? 当然是给控制器啦。

  • Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据(比如增加或更新数据表)。

  MVC最大的优点是实现了软件或网络应用开发过程中数据,业务逻辑和界面的分离,使软件开发更清晰,也是维护变得更容易。这与静态网页设计中使用html和css实现了内容和样式的分离是同一个道理。

二、Django网站开发是如何遵循MVC设计模式的?

  Django网站开发全靠四件套: Model(模型), URL(链接), View(视图) 和Template(模板)。它们看似与MVC设计模式不太一致,其实本质是相同的。但是Django的View和经典的View确实有非常大的不同。Django四件套与经典的MVC对应关系如下。

  • Django Model(模型): 这个与经典MVC模式下的Model差不多。

  • Django URL + View(视图): 这两个合起来与经典MVC下的Controller更像。原因在于Django的URL和View合起来才能向Template传递正确的数据。用户输入提供的数据也需要Django的View来处理。

  • Django Template(模板): 这个与经典MVC模式下的View一致。Django模板用来呈现Django view传来的数据,也决定了用户界面的外观。Template里面也包含了表单,可以用来搜集用户的输入。

猜你喜欢

转载自www.cnblogs.com/bijian/p/9648410.html