【问题标题】:mvc controller single responsibility principle and POST requestsmvc控制器单一职责原则和POST请求
【发布时间】:2013-03-25 08:54:45
【问题描述】:

我对我目前正在开发的 django Web 应用程序的正确/标准/建议方法感兴趣。 我有编程的实践经验,但我担心我的实现效率,因为我没有太多的 MVC 和相关原理的理论知识。

我有几个表单必须从我的数据库中获取不同数量的信息(通过 AJAX POST 请求),所有这些都与用户将采取的单个操作相关(例如:购买房子,系统需要有关房子、客户、以前的所有者、付款方式等)。 因此,POST 请求在一页中会非常频繁。

我的问题是: 我应该有一个控制器负责每个不同“类型”的 POST 请求(一个控制器用于“房屋”请求,一个控制器用于“客户端”等),还是可以有一个“销售数据获取器”控制器通过每个请求的参数之一处理所有相关的 POST 请求检查并相应地与模型通信?

如果没有正确使用问题系统,我深表歉意,这是我在这里的第一个问题。

编辑:我的问题完全失效了!!!是的,该应用程序在 PYTHON 中,我确实在以前的项目中使用过 PHP。

提前致谢!堆栈溢出多次成为救命稻草。

【问题讨论】:

  • 我很好奇你的 Django PHP web 应用程序是如何开发的,特别是考虑到 Django 是一个 Python web 框架 并且与 PHP 无关!
  • @Francis Avila:是的,你完全正确。我的错,我只是不经意间把事情搞混了。我在之前的项目中确实使用过 PHP 和 CakePHP,但目前的项目是 Python,框架是 Django,数据库是 PostgreSQL。我已经编辑了这个问题。我很抱歉。

标签: python django model-view-controller post controller


【解决方案1】:

一般情况下,您需要为每种“类型”的请求设置一个单独的控制器。这有助于保持代码简单,无需处理任何“特殊情况”,并且通常更易于重用。

【讨论】:

  • 感谢您的回答!我认为您是对的,并且我怀疑这是正确的方法,即使我已经以另一种方式实现了一些控制器,但是由于我不确定,我希望有人可以提供一些理论依据或文档首选方式。我会投票给你,但我还不能:/
  • 也许我会稍等片刻,看看是否有人可以在接受您的回答之前提供另一个观点/来源,可以吗?
  • 当然。另请注意,为了限制 HTTP 请求的数量,您可能要考虑的另一种方法是让控制器收集给定页面所需的所有数据,将其包装在一个大 JSON 字符串中,然后将其拆分为浏览器端的单个数据对象.这有点令人费解,在大多数情况下不需要,但有时会很方便。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-26
  • 2016-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多