複雑なクエリにおける条件処理の責任の決定: サービス層とデータ マッパー
データの取得と操作を追求する際に、問題が発生します: 複雑なクエリ条件を処理する負担はデータ マッパーとサービス層のどちらが負うべきですか?
データ マッパー
データ マッパー パターンは単純なインターフェイスを指示します、主な役割はデータの取得、保存、削除です。ただし、実装の詳細はまだ解釈の余地があります。
その最小限のインターフェイスにもかかわらず、データ マッパーは、特定の識別子や作成者名に基づいてオブジェクトを取得するなど、条件付きロジックを組み込むように拡張できます。
サービス層
一方、サービス層は、コントローラーとデータ マッパーの間の仲介者として機能します。 BookDataMapper->getByAuthorAndPublisher() など、より具体的なメソッドを直接呼び出すことで、複数の条件を処理する複雑さを軽減できます。
サービス層条件処理の利点
いくつかの理由から、サービス層でクエリ条件を解析することを主張する人もいます。
データ マッパーの条件処理の利点
データ マッパー内で条件付きロジックを一元化することを好む人もいます。
最適なアプローチ
最適なアプローチは、特定のアプリケーションとドメイン固有のロジックによって異なります。ただし、いくつかの一般的なガイドラインを考慮することができます。
以上がサービス層とデータマッパー: 複雑なクエリ条件を処理するのは誰ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。