2016-07-28 12 views

答えて

1

私は戦略の実装としてステートレスシングルトンを使用します。ステートレスなので、スレッドセーフでもあり、テストに問題はありません。

問題が発生するのは、ステートフルなシングルトンです。これにより、特にマルチスレッドコンテキストではより多くのやりとりが行われますが、スレッドごとにステートフルなシングルトンを単体テストするだけでは問題はありません(テスト間で状態をリセットする必要があります)。この理由から、シングルトンは回避されるべきアンチパターンとして多くの人に見られます。

ステートフルなシングルトンのより良いアプローチは、依存性注入を使用することです。このように、コンポーネントを構築するコードは1つのオブジェクトしか作成せず、それを必要とするすべてのコンポーネントに渡します。

関連する問題