1

私はしばらくの間、AppFuseを使用してプロジェクトを作成してきました。また、DAOクラスとManagerクラスを開発するには2つのアプローチがあることをすでに知っています。

  1. GenericDao/GenericManagerアプローチ
  2. UniversalDao/UniversalManagerアプローチ

すべてのエンティティを管理するために必要なクラスは1つだけなので、ユニバーサルアプローチを使用する方が便利であることがよくあります。デザイン的にはこれは非常に悪い選択になるのではないかといつも思っていました。

Genericバリアントを好む理由はありますか?そして、一般的に、私のアプリケーションでは両方のクラスを混合することをお勧めしますか?

4

1 に答える 1

1

個人的には、いくつかの理由から、UniversalDao/UniversalManagerを使用することを好みます。

  • 「一般的な」アプローチには、通常、より多くの構成が含まれます。エンティティごとにDAOとマネージャーを構成する必要があります。中規模から大規模のモデルの場合、これは受け入れられません。
  • 「汎用」アプローチでは、まだ多くのキャストを行う必要があります。たとえば、Hibernateを使用すると、List<Object>からList<MyDomainClass>など、多くのダウンキャストを実行することになります。
  • Universalを使用すると、多くの(1つだけでなく)モデルクラスを管理するより柔軟なDAOを作成できます。たとえば、注文、アイテム、およびカテゴリを管理するOrderDAOです。

そしてもちろん、2つのアプローチを混在させないでください!それは簡単に行うことができますが、どのプロジェクトでも均一性は大きな利点です;)

于 2009-08-14T18:07:58.630 に答える