代码之家  ›  专栏  ›  技术社区  ›  3en

MVC Web的跨控制器函数约定?

  •  2
  • 3en  · 技术社区  · 14 年前

    我有一个关于在MVC Web框架的控制器中放置某些函数的最佳实践的问题。

    假设我有一个用户标签控制器。我有一个名为addtag_to_user()的函数/方法。

    在用户或标记控制器中放置此项的约定或最佳实践是什么?

    虽然我个人更倾向于把它放在标签控制器中,因为我的用户控制器可能充满了其他功能,因为它是一个关键元素(例如)。因此,将其放置在标记控制器中可以提高用户控制器的可读性。

    编辑:也许把处理两个模型的函数放在哪里并不重要。我想看看其他人的习俗是什么。

    1 回复  |  直到 12 年前
        1
  •  0
  •   Michael Brown    12 年前

    控制器对象可以保存操作模型域的行为。然而,MVC通常每个域都有一个控制器,听起来像“用户”和“标记”属于同一个域。

    根据信息专家原则,谁有信息来履行这一职责?标签不了解用户。逻辑答案是用户负责他/她的标记,所以您的用户类将保持addtag()的行为。