我正在使用MVC模式设计一些数据分析软件(in Python)。我不确定是否应该在模型或控制器中使用某些功能。
我设计它的方式,用户为程序提供一个包含分析参数的配置文件。该程序解析此文件以找出要查看的数据文件以及要执行的计算类型。
答案 0 :(得分:2)
模型应该是您的实体类,或者只是模拟您正在使用的问题域的类。并且视图基本上与您的用户如何与您正在构建的系统进行交互有关。控制器将两者结合在一起。
答案 1 :(得分:1)
关于你的第一点,解析应该放在模型中,如果它是模型类的一部分;例如,如果您有配置模型,则加载配置的功能属于模型。如果它更像是一个服务(例如我要导入这个文件,然后其他东西将要进行映射)那么它应该在Controller中。在不知道更多细节的情况下,这很难说,但这是我遵循的一般规则。
我不确定你的第二点,因为我不熟悉Python,但典型的方法是将你的文件夹结构分离到Models / Controllers / Views等,但是我只熟悉MVC,因为它与网络应用程序有关,所以我可能不合适,因为你的程序似乎是一个桌面应用程序。
你的第三点是完全正确的。模型不应该与视图对话;控制器与模型通信并检索View需要的信息,并给出视图。我猜本质上视图可能正在使用Model,但它对模型一无所知(例如,如果它来自数据库,配置文件,xml,等等)
答案 2 :(得分:0)
简单地说,模型是您的数据部分(数据库),视图是您的设计部分(HTML,CSS,JavaScript等),而控制器是模型和视图之间的契约:)