5

これは一般的な質問であり、現在のアプリケーションに固有のものではありません。

updateDataトラフィックの多いマルチスレッド アプリケーションでは、次のようなアプローチをとります。データベース内のデータを更新するメソッドを含む DAO があるとします。

質問:

  1. そのDAOクラスのSingletonインスタンスを持ち、そのメソッドにアクセスするのは良いアプローチupdateDataですか?
  2. または、毎回そのDAOの新しいオブジェクトを作成してメソッドを呼び出す必要がありupdateDataますか?
4

3 に答える 3

5

はい、そのようなサービス用にシングルトンを作成することは間違いなく良い考えです。複数のスレッドからアクセスされたときに、状態に関連する問題がないことを確認してください。

そのようなDAOをSpring Beanとしてマークしたでしょう

于 2012-09-25T09:24:22.000 に答える
4

DAO の単一のインスタンスを作成し、それを必要とするクラスのコンストラクターに渡すことをお勧めします。シングルトンはコードのテストを難しくし、依存関係を隠してしまうため、可能な限りシングルトンを避ける傾向があります。

この質問に対する回答を見てみましょう: Singletons の何がそんなに悪いのか?

于 2012-09-25T09:38:44.787 に答える
3

DAOのシングルトンインスタンスを持つことができます。DAOがステートレスであることを確認するだけで済みますが、DAOはとにかくステートレスである必要があります。

于 2012-09-25T09:25:04.553 に答える