Ico*_*ood 2 model-view-controller design-patterns zend-framework
我听过"脂肪模型,瘦控制器"这个短语,相信我理解它的含义.在完成Zend快速入门指南时,我遇到了表数据网关模式.
在我看来,这种设计模式是提倡MVC堆栈的第四个组件.它正在从"胖模型"转变为"瘦模型,瘦控制器和胖胖的TableDataGateway".根据我对这种设计模式的理解,模型变得只是TableDataGateway填充数据的存储机制.
我理解表数据网关设计模式的优点,抽象我们的数据源,我的问题不是关于设计模式,而是它如何适应MVC堆栈.
PS我有点难以将问题变成好话.如果有人想编辑它以使其更清楚或提出建议我是开放的!
MVC架构可以更新如下:
+------------+
| Controller |
+------------+
^ ^
| | +------------+ +-------------+
| |-------> | Model | <--> | Data access |
| | +------------+ +-------------+
| |
v v
+------------+
| View |
+------------+
Run Code Online (Sandbox Code Playgroud)
数据访问部分只是另一个抽象级别(基于数据网关设计模式,或任何其他模式/技术),它是与持久级别(文本文件,数据库或任何其他)进行通信的特定部分.如果您需要更改应用程序中的持久性级别(即:从MySQL到Oracle),则可以轻松替换.
这样,您必须重写的唯一部分是数据访问级别,应用程序的其余部分仍然有效.现在,模型的任务是以可由控制器或视图使用的方式格式化数据.
这可能不是最好或最完整的答案,但它至少是一个开始.
归档时间: |
|
查看次数: |
2132 次 |
最近记录: |