我听说过“胖模型,瘦控制器”这句话,我相信我理解它的含义。在通过Zend Quickstart指南工作时,我遇到了表数据网关模式。
在我看来,这种设计模式似乎是在提倡MVC堆栈的第四个组件。它正在从“脂肪模型”转向“瘦模型、瘦控制器和胖TableDataGateway”。根据我对这种设计模式的理解,该模型只不过是TableDataGateway填充到其中的数据的存储机制。
我理解表数据网关设计模式的优点,通过抽象我们的数据源,我的问题不是关于设计模式,而是它如何适合MVC堆栈。
我很难把我的问题说得很好。如果有人想编辑这个使它更清楚或提出一个建议,我是开放的!
发布于 2011-01-24 15:49:08
MVC模式可以按以下方式更新:
+------------+
| Controller |
+------------+
^ ^
| | +------------+ +-------------+
| |-------> | Model | <--> | Data access |
| | +------------+ +-------------+
| |
v v
+------------+
| View |
+------------+数据访问部分只是另一个抽象级别(基于数据网关设计模式或任何其他模式/技术),它是与您的持久级别(文本文件、数据库或其他任何其他)对话的特定部分,如果您需要更改应用程序中的持久级别(即从MySQL到Oracle),可以很容易地替换它。
这样,您唯一需要重写的部分是数据访问级别,而应用程序的其余部分仍在工作。现在,模型的任务是以控制器或视图可以使用的方式格式化数据。
这可能不是最好的或最完整的答案,但它至少是一个开始。
https://stackoverflow.com/questions/4782913
复制相似问题