1

私はオープンソース プロジェクトの「ファット モデル」を開発しており、ORM (RedBeanPHP) とコントローラーの間に配置されるレイヤーに取り組んでいます。

私はUserクラスを持ち、おそらくオブジェクトを構築したり、 などのメタアクションを実行できるUserFactory/クラスを持っています。UserMapperUserusernameExists

オブジェクトのコレクションを取得する必要がある場合、クラスで結果セットを反復処理してn 個のオブジェクトを構築するのUserは非効率的であることが、他の多くの SO の質問/ブログ投稿で指摘されています。 UserMapper User

私の考えは、UserCollectionPHP のクラスを実装するクラスを作成することArrayObjectです。 生の結果セットを多次元配列として内部に格納するUserMapperを作成できます。次に、 のイテレータ関数などをUserCollection実装して、対応するオブジェクトをオンデマンドで 構築できます。ArrayObject[]User

これは賢明な方法ですか?このアプローチを取る前に、何を考慮する必要がありますか?

4

2 に答える 2

0

データの大きなリストをレンダリングするには、実際には行ごとにインスタンスを使用すると遅くなります。そこでフライウェイト パターンが役に立ちます... http://sourcemaking.com/design_patterns/Flyweight/php

于 2015-03-11T21:50:15.857 に答える