2009-08-20 12 views
0

iBatisを使用してドメインカテゴリCategoryにマッピングされたテーブルカテゴリがあります。このクラスをJavaBeanとして使うべきですか?製品のBeanには、このカテゴリの製品数などの他の属性が必要です。これらの属性は、ドメインクラスCategoryの一部ではありません。私がCategoryをBeanクラスとして使用しても、それはまだ関連していますか?この場合、CategoryBeanのようなラッパークラスを提供する方が良いでしょうか?コードの複雑さが増しますか?ibatisドメインクラスをjavabeanとして使用する必要がありますか?

答えて

1

この議論にはいくつかの側面があります(それは議論です)。

まず、Javaソフトウェア開発サークルには、ソフトウェアの高度な階層化が必要であるという一般的な見方があります。これは、ドメインオブジェクトを引き出してプレゼンテーションオブジェクトに変換することを意味します。それはさらに進んで、間にサービスオブジェクトや他のものを持つことができます。

これは、多くの場合、有益な利益のために定型的なプロパティのコピーがたくさんあります。

自分自身に質問する1つの質問は、次のとおりです。Ibatisから出てくるオブジェクトがプレゼンテーションに適していますか?あるいは、たとえば、テーブルごとに1つのクラスを持つという意味では一般的ですか?

軽量なJavaアプリケーションは、Ibatisがビューレイヤーが必要とする正確な情報を返すクエリを実行し、それを遠くに渡すような方法を選択する権利があります。今では、大規模なアプリケーションでスケーラビリティの問題があります。これらのことが何百、何千というものになる可能性があるので、そのような状況では別のアプローチが必要になるかもしれません。そういう場合でも、何千ものプレゼンテーションオブジェクトで済むでしょう。ピーターはロバートにポールを支払う?

私は個人的にIbatisでテーブルごとの1クラスのアプローチを嫌います。それは強さではありません。これはHibernateとJPAの強みです。 Ibatisの強みは、SQLだけでなく何かを簡単に引き出すことができるということです。それがあなたに問題を起こさない限り、その方法を使用してください。

関連する問題