Java EE 6 の実装で適用できる設計パターンについて教えてください。
- MVC。
- GOF。
- ダオ
- 永続的なリレーショナル マッピング
- プーリング
- CEC
- エンティティー管理境界 (ECB)
- その他多数
JPAはDAOの使用を排除しますか?
学習できる他のパターンを提供してください。
Java EE 6 の実装で適用できる設計パターンについて教えてください。
JPAはDAOの使用を排除しますか?
学習できる他のパターンを提供してください。
ここに良いリファレンスがあります: http://martinfowler.com/eaaCatalog/
また、ここ: http://java.sun.com/blueprints/corej2eeppatterns/Patterns/index.html
また、JPA は必ずしも DAO レイヤーの必要性をなくすわけではありません。代わりに、DAO レイヤーは引き続き JPA クエリを構築し (おそらくファインダー メソッド内)、それらのクエリが返したエンティティを返します。
DAO レイヤーを排除し、代わりにビジネス層内の JPA エンティティを直接ヒットすることもできますが、個人的には、特に JPA といくつかの JPA を混同しなければならない場合に、個別の永続性 (DAO) とビジネス層を維持することを好みます。プレーンな JDBC など
ここに議論の素晴らしい要約があります。最善の答えは、場合によるということです。アプリが複雑で、場合によっては JDBC に直接アクセスする場合 (JPA および ORM ツールがすべての解決策であるとは限らず、いくつかの点で非常に悪いため)、または単にアクセスできないソースからデータをプルする必要がある場合ORM ではうまく動作しません。とにかく DAO レイヤーが必要になるので、私の考えでは、一貫性を保ち、すべてに DAO レイヤーを使用したいと考えています。通常はそれほど複雑ではなく、ビジネス ロジックを永続化ロジックから分離します。これは良いことだと思います。ただし、これは個人の好みの問題であり、アプリが適切にシンプルである場合、それはおそらくやり過ぎです。
ここでは、JPA で使用できる一般的な DAO パターンの適切な推奨事項があります。これにより、特定の DAO に対してこれをいつでもオーバーライドできるという点で、DAO の利点が得られますが、より標準的で典型的なデータベースの対話はより単純に保たれます。
Java EE 6 (Java EE 5 ではない) を使用する場合、技術的な J2EE パターンの一部は、J2EE で使用されるタスクに不要になります。
たとえば、ServiceLocator の代わりにインジェクションを使用します。
@参照http://pawelstawicki.blogspot.com/2010/07/review-real-world-java-ee-patterns.html
GOF パターンは、Java EE に関連する (だけではない) ものではないため、依然として必要です。
一般に:パターンには意図があります:環境によって提供される特定の機能セットを使用して、問題のソリューション/ベストプラクティスを生成したいと考えています(あなたの場合:Java、Java EE 6などです)