MVC 模型学习笔记

什么是 MVC 模型?

MVC(Model-View-Controller)是一种常用的软件架构模式,它把应用程序分成三个核心部件:模型(Model)、视图(View)和控制器(Controller)。MVC 模式允许这些部件之间的分离,使得修改其中一个部件不会影响到其他部件。

  • Model:模型表示应用程序中用于处理数据逻辑的部分。一般情况下,模型负责在数据库中存取数据。
  • View:视图是应用程序中处理数据显示的部分。一般情况下,视图负责生成客户端展示的 HTML 内容。
  • Controller:控制器是应用程序中处理用户交互的部分。一般情况下,控制器负责调度模型和视图以完成用户指令。

实例

假设我们正在开发一个简单的博客系统。下面是该系统使用 MVC 模型的示例:

Model

模型通常是与数据库交互的部分,在本示例中,我们使用以下类来表示博客文章:

pythonCopy Code
class Article: def __init__(self, title, content): self.title = title self.content = content def save_to_database(self): # 将当前文章保存到数据库中 pass def delete_from_database(self): # 从数据库中删除当前文章 pass @staticmethod def get_all(): # 从数据库中获取所有文章的列表 return []

View

视图通常是与用户界面交互的部分,在本示例中,我们使用以下 HTML 模板来表示博客文章的展示:

htmlCopy Code
<html> <head> <title>{{ article.title }}</title> </head> <body> <h1>{{ article.title }}</h1> <div>{{ article.content }}</div> </body> </html>

Controller

控制器通常是与用户交互的部分,在本示例中,我们使用以下类来表示博客系统的控制器:

pythonCopy Code
class BlogController: def show_article(self, article_id): # 从数据库中获取指定的文章 article = Article.get(article_id) # 渲染 HTML 视图并返回给用户 return render_template("article.html", article=article) def create_article(self, title, content): # 创建一个新的文章实例 article = Article(title, content) # 将文章保存到数据库中 article.save_to_database() # 重定向到新文章的展示页 return redirect(url_for("show_article", article_id=article.id))

以上就是一个简单博客系统的 MVC 示例。在实际开发中,我们通常会使用更多的框架和库来支持 MVC 架构模式。