在MVC模式中,模型和视图各包含什么?
3 个回答
0
简单来说,模型就像是你的数据部分(数据库),而视图就是你的设计部分(HTML、CSS、JavaScript等)。控制器则是模型和视图之间的桥梁,负责它们之间的沟通和协调 :)
2
模型就是你用来表示数据的类,或者说是一些用来描述你正在处理的问题的类。视图则是用户和你构建的系统之间的互动部分,简单来说,就是用户看到的界面。控制器则是把模型和视图连接起来的部分。
1
关于你的第一个问题,如果解析(也就是处理数据的过程)是模型类的一部分,那就应该放在模型里面。比如说,如果你有一个配置模型,那么加载配置的功能就应该放在这个模型里。如果这个功能更像是一个服务(比如我会导入一个文件,然后其他地方会处理映射),那么它就应该放在控制器里。没有更多细节的话,很难给出确切的答案,但这是我遵循的一般规则。
对于你的第二个问题,我不太确定,因为我对Python不太熟悉。不过通常的做法是把文件夹结构分成模型(Models)、控制器(Controllers)、视图(Views)等。不过我只了解与网页应用相关的MVC,所以可能不太适用于你的情况,因为你的程序似乎是一个桌面应用。
至于你的第三个问题,完全正确。模型不应该直接和视图交流;是控制器与模型沟通,获取视图所需的信息,然后把这些信息传递给视图。我想从本质上说,视图可能会与模型有关系,但它对模型的具体情况一无所知(比如数据是来自数据库、配置文件、XML,或者其他什么)。