MVC:模型,控制器或库?

3
我第一次使用框架(CodeIgniter)构建CRM,并且在维持MVC方法的同时确定某个特定模块应该放在哪里方面遇到了问题。该模块在创建新公司时自动生成新用户,并将登录详细信息发送到提供的电子邮件地址。
我熟悉瘦控制器和肥模型的概念,但是为了编译所需的所有信息,该模块必须从多个不同的表中请求数据,同时插入数据到多个表中。
迄今为止我考虑过的场景有:
  1. 逻辑在模型中,因为大部分信息来自于它。
  2. 创建一个完全处理此模块及其所需多个表的新模型。
  3. 将逻辑放在处理创建公司的控制器中。
  4. 创建一个新的库或帮助程序,并在需要时调用该模块。
瘦控制器和肥模型似乎暗示一个或两个选项是正确的选择,但我被告知模型应仅与数据库中的一个表交互。
如何确保遵守MVC的正确方法是什么?
1个回答

1

Codeigniter允许您在MVC方法中灵活运用。所以答案是哪个选项:

  • 最容易理解的(或您团队中最容易理解的)
  • 最容易维护的
  • 最容易让其他人理解的

如果您没有其他库并且不了解库,那么将代码放入库中就没有意义。同样,如果您所有的模型都很“臃肿”,但只指向一个表,您是否希望这个模型也是唯一指向其他4个表的模型?

就我个人而言,如果这个“逻辑”只发生在一个地方,那么我会将其放入控制器中,并调用需要执行每个代码位的4个模型。

如果这个“逻辑”在多个地方发生,我会将其放入库中,并在需要时调用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接