我刚刚阅读了一个用银行类比解释MVC的blog post。我有一个使用MVC框架(CakePHP)的Web应用程序开发的几个月的经验,所以我了解了基础知识,但是我开始看到一个主题,这让我认为我采取了一种有缺陷的方法来放置我的逻辑:胖模型,瘦身控制器和MVC设计模式
- 脂肪模型,瘦控制器
- 保留尽可能多的业务逻辑模型尽可能
在我的应用程序,模特厌食和控制器是肥胖。我拥有控制器中的所有业务逻辑,除了模型中的关联和验证规则外,没有其他任何内容
扫描通过我的控制器,我现在能够确定大量的逻辑,可能应该在一个模型:
- 应用程序有列表,其中包含的项目,并且项目能排。将列表按排名顺序排列的排序逻辑位于控制器中。
- 同样,项目(项目模型)也有图像(图像模型)。每个项目可能有一个默认图像(由项目表中的image_id指定)。当一个项目与其图像一起显示时,默认图像应该首先出现。我有在控制器中这样做的逻辑。
- 当列表显示时,相关列表显示在边栏中。确定哪些列表相关的逻辑在控制器中。
现在我的问题:
- 有了上面我给了,我是在正确的轨道上在想,这些都是逻辑的情况下,目前在该模型中所属的控制器的例子吗?
- 什么是其他应用于模型的其他Web应用程序逻辑领域?
- 我确定发现这个问题,改变我的设计模式只是一场战斗,但即使我决定采用上面给出的那些例子并尝试将该逻辑移至模型,我也不知道从哪里开始。任何人都可以通过在这里发布一些代码或者链接到一些好的学习资源来指向正确的方向吗? CakePHP的具体帮助会很棒,但我确信任何MVC都足够了。
听说过这一切:) – Marco 2013-04-12 13:34:22