私はオープンソース プロジェクトの「ファット モデル」を開発しており、ORM (RedBeanPHP) とコントローラーの間に配置されるレイヤーに取り組んでいます。
私はUserクラスを持ち、おそらくオブジェクトを構築したり、 などのメタアクションを実行できるUserFactory/クラスを持っています。UserMapperUserusernameExists
オブジェクトのコレクションを取得する必要がある場合、クラスで結果セットを反復処理してn 個のオブジェクトを構築するのUserは非効率的であることが、他の多くの SO の質問/ブログ投稿で指摘されています。 UserMapper User
私の考えは、UserCollectionPHP のクラスを実装するクラスを作成することArrayObjectです。 生の結果セットを多次元配列として内部に格納するUserMapperを作成できます。次に、 のイテレータ関数などをUserCollection実装して、対応するオブジェクトをオンデマンドで 構築できます。ArrayObject[]User
これは賢明な方法ですか?このアプローチを取る前に、何を考慮する必要がありますか?