1. ホーム
  2. design-patterns

[解決済み] 静的クラスとシングルトンパターンの違い?

2022-03-15 19:45:03

質問

静的クラスとシングルトンパターンには、どのような違いがあるのでしょうか?

どちらもインスタンス化せずに呼び出すことができ、どちらも1つの"Instance"を提供するだけで、どちらもスレッドセーフではありません。他に何か違いがありますか?

解決方法は?

シングルトンやスタティックメソッドがスレッドセーフでないとする根拠は何ですか?通常、両方とも べきである は、スレッドセーフになるように実装されています。

シングルトンと静的メソッドの大きな違いは、シングルトンはインターフェースを実装できる(あるいは有用な基底クラスから派生できるが、私の経験ではそれはあまり一般的ではない)ことで、シングルトンをあたかも別の実装のように渡すことができるのです。