MVC是GAE应用程序的良好设计模式吗?

问题描述:

我的GAE应用目前建立与以下文件名MVC是GAE应用程序的良好设计模式吗?

  1. main.py(2个主模型和逻辑用于创建和更新的机型)
  2. i18n.py(用户界面逻辑如何查看与I18N对象)
  3. reports.py(基于的cron的报告脚本)

我想的名字是很清楚,但我正在考虑遵循模型 - 视图 - 控制器模式,以便重新命名这三个文件来model.py视图.py controller.py是我认为的选择遵循更加标准化的惯例。你是否同意这种模式化的MVC惯例是在这种情况下合理的方式,你需要更多的信息什么是my app:我有很多代码对用户是功能性的,这是我认为是正确的代码以遵循普遍接受的设计模式(如MVC,发布者订阅者,工厂等)的方式进行重构。在这种情况下,我认为MVC设计模式是合适的。你是否同意或建议其他代码和数据处理?感谢您的任何意见和讨论。

+1

只是一个建议:不要重写*只是*重写它们。这个问题提出的方式使得它看起来像你只是想重构,所以它看起来更像其他应用程序。你计划添加需要重构吗? – 2011-05-17 18:04:54

+0

谢谢你的回答。我打算这样做主要是为了可读性,以便新开发人员能够快速掌握哪些部分包含哪些代码。 – 2011-05-18 04:05:52

你很想念MVC。 Model,View,Controler分为三部分。

模型 - 包含业务逻辑。知道如何读取/写入数据库。 视图 - 包含显示逻辑。了解如何从模型中获取数据并将其显示给用户。 控制器 - 理解用户手势,加载/找到正确的模型和视图,并告诉他们该做什么。

(在Web环境中,视图应该解压来自POST的数据,并且模型应该验证它)。

在main.py中有M和C,在i18n.py和main.py中很难说(很难说)。 cron-run报告是MVC外部的。

只是重命名文件不会带来任何收益,但会混淆其他维护者。

如果您建议在没有测试套装的情况下对您的代码进行重大更改,以提醒您不要引入错误,那么我必须指出这样的行为并不明智。

+0

谢谢你的回答。这是因为很难判断我想要重构的显示逻辑(视图)遵循哪种模式。如果按照他们认可的标准构建新项目,新开发人员可以更快速地引入该项目。 – 2011-05-18 04:09:22