1

RobAllenによるzendフレームワークのチュートリアルを読んでいました。私は小さく始められるアプリケーションに取り組んでいますが、それをスケーラブルにしたいと思っているので、次のステートメントが私の注意を引きました。

「このチュートリアルでは、Zend_Db_Tableを拡張し、Zend_Db_Table_Rowを使用するモデルを作成します。ZendFrameworkは、データベーステーブル内のデータとのインターフェイスを可能にするTableDataGateway設計パターンを実装するZend_Db_Tableを提供します。大規模なシステムでは、パターンが制限される可能性があります。Zend_Db_Tableによって公開されるため、データベースアクセスコードをコントローラーアクションメソッドに入れたいという誘惑もあります。」

大規模なシステムでこれがどのように制限されるかを誰かに教えてもらえますか?選択肢は何ですか?

4

1 に答える 1

0

別の方法はDataMapperです。ここでは、これらのさまざまなパターンについて適切に説明しています。データマッパー、テーブルデータゲートウェイ(ゲートウェイ)、データアクセスオブジェクト(DAO)、およびリポジトリパターンの違いは何ですか。

DataMapperは、単一のテーブルの薄いラッパーであるTableDataGatewayよりもデータベースとの結合が少なくなっています。

ZF1のZend_Dbには重大な制限があります。Doctrine2は、永続層との相互作用をカプセル化するためのより良い選択です。

于 2012-04-26T07:03:36.463 に答える