首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表数据网关与模型

表数据网关与模型
EN

Stack Overflow用户
提问于 2011-01-24 14:09:08
回答 1查看 2.4K关注 0票数 2

我听说过“胖模型,瘦控制器”这句话,我相信我理解它的含义。在通过Zend Quickstart指南工作时,我遇到了表数据网关模式。

在我看来,这种设计模式似乎是在提倡MVC堆栈的第四个组件。它正在从“脂肪模型”转向“瘦模型、瘦控制器和胖TableDataGateway”。根据我对这种设计模式的理解,该模型只不过是TableDataGateway填充到其中的数据的存储机制。

我理解表数据网关设计模式的优点,通过抽象我们的数据源,我的问题不是关于设计模式,而是它如何适合MVC堆栈。

我很难把我的问题说得很好。如果有人想编辑这个使它更清楚或提出一个建议,我是开放的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-24 15:49:08

MVC模式可以按以下方式更新:

代码语言:javascript
复制
+------------+
| Controller |
+------------+
    ^   ^
    |   |          +------------+      +-------------+
    |   |------->  | Model      | <--> | Data access |
    |   |          +------------+      +-------------+
    |   |
    v   v
+------------+
| View       |
+------------+

数据访问部分只是另一个抽象级别(基于数据网关设计模式或任何其他模式/技术),它是与您的持久级别(文本文件、数据库或其他任何其他)对话的特定部分,如果您需要更改应用程序中的持久级别(即从MySQL到Oracle),可以很容易地替换它。

这样,您唯一需要重写的部分是数据访问级别,而应用程序的其余部分仍在工作。现在,模型的任务是以控制器或视图可以使用的方式格式化数据。

这可能不是最好的或最完整的答案,但它至少是一个开始。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4782913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档