1

我正在阅读 Rob Allen 的 zend 框架教程。我正在开发一个开始时很小的应用程序,但我希望它具有可扩展性,因此以下语句引起了我的注意:

“对于本教程,我们将创建一个扩展 Zend_Db_Table 并使用 Zend_Db_Table_Row 的模型。Zend 框架提供 Zend_Db_Table 实现表数据网关设计模式以允许与数据库表中的数据进行交互。请注意,表数据网关模式在更大的系统中可能会受到限制。还有一种诱惑是将数据库访问代码放入控制器操作方法中,因为这些由 Zend_Db_Table 公开。

谁能告诉我这将如何限制更大的系统?有哪些替代方案?

4

1 回答 1

0

另一种方法是 DataMapper。您在这里对这些不同的模式有一个很好的解释:数据映射器、表数据网关(网关)、数据访问对象(DAO)和存储库模式之间有什么区别?

与表数据网关相比,DataMapper 与数据库的耦合更少,表数据网关是单个表的瘦包装器。

ZF1 中的 Zend_Db 有严重的局限性。Doctrine2 是封装与持久层交互的更好选择。

于 2012-04-26T07:03:36.463 回答