【问题标题】:MVC - CodeigniterMVC - 代码点火器
【发布时间】:2012-02-21 10:24:57
【问题描述】:

中间代码应该放在哪里? (不只是从数据库存储/检索数据,也不处理请求/视图)

例如,

假设我有Listings,我在模型中创建了 CRUD 函数。这些Listings 可能需要更复杂的任务,例如暂停和恢复,这可能需要一些时间计算、错误设置等。应该将它们放在模型中还是应该将简单模型包装在库中并将其用作中间人模型?

目前我正在考虑使用驱动程序/库并保持模型相当简单,除了一些动态 SELECT 过滤器。不过我有点困惑,因为我猜我可能不得不在库中重新检查模型中的变量、依赖项等,是吗?

我很可能要么将模型中的所有内容压缩在一起并检查一次,要么分开并检查两次?

【问题讨论】:

    标签: model-view-controller codeigniter design-patterns


    【解决方案1】:

    一般的经验法则是:

    1) 执行模型中的所有业务逻辑。

    2) 像交通警察一样在控制器中执行操作。 (根据活动结果将用户引导至新视图。)

    3) 仅在视图中执行表示逻辑。

    您想要做的任何其他事情都会被视为“中介”,可以驻留在库或助手中。

    应该注意的是,如果您编写库,请不要忘记在您的类中获取当前 CI 对象的实例,以便将它与您的内部类方法一起使用。

    class Your_lib {
      $CI =& get_instance();
      ...
    }
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-09
      • 2011-06-04
      • 2016-01-28
      • 2012-06-30
      • 2011-03-29
      • 2011-08-06
      • 1970-01-01
      相关资源
      最近更新 更多