Python:具有复杂模型交互的MVC实现

2024-04-19 23:43:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个小型python(3.6.4)应用程序(用于macos),在实现控制器/模型关系时遇到了一些问题。我对python和MVC(以及一般的设计模式)还比较陌生。你知道吗

该程序创建可以写入磁带的zip文件。使用的三个文件夹:

  • 输入\文件夹-用户可以将项目文件夹复制到其中。你知道吗
  • process\u文件夹-将项目复制到其中并由程序进行处理。你知道吗
  • 输出文件夹-包含由程序创建的zip文件的项目。你知道吗

课程基本步骤:

  1. 程序监视输入文件夹中的“项目文件夹”。项目文件夹包含一个或多个“事件文件夹”,每个文件夹中都有一些文件。你知道吗
  2. 程序检查项目文件夹的名称是否存在于数据库中(用户负责添加项目名称),并在进程文件夹中创建一个匹配的项目文件夹,其名称为格式化名称(小写,不带空格)。你知道吗
  3. 也会检查每集的集文件夹。(在这种情况下,如果以前没有存档)
  4. 剧集包含的文件完成后,会从输入文件夹复制到进程文件夹。(即文件大小保持不变3秒)
  5. 对于每个项目,都会从process文件夹压缩片段,并将其移动到output文件夹中相应的项目文件夹中。你知道吗

我有一个项目和插曲课。这两个类都包含输入文件夹中的文件夹名和流程文件夹中的文件夹名所基于的格式化名称。你知道吗

每个项目对象都包含一个事件对象列表,最终每个事件对象都包含一个文件对象列表。(可能非常糟糕……)

目前,我有一个控制器,负责项目和项目内的插曲,所以控制仍然在一个中心位置。例如:

project.add_episodes(Episode('sometitle'))
project.process_episodes()

有几个问题:

  • 我的单控制器方法是否正确?你知道吗
  • 对于我的项目/事件数据模型,什么样的设计模式是好的?你知道吗
任何帮助/建议都太好了!你知道吗


Tags: 文件项目对象用户程序文件夹名称列表