現在レベル27で大きな問題を解決中です。そこでは、StatisticManager クラスを作成してシングルトンにするように求められます。OK、問題ありません! その後、プログラムの他のクラスで StatistcManager のメソッドを呼び出す必要があり、ここで小さな面倒な瞬間に遭遇し始めます。参照変数などを書かなければなりません。これは、余分な文字がたくさんあり
StatisticManager statisticManager = StatisticManager.getInstance(); statisticManager.method();
ます StatisticManager.getInstance().method();
。クラスを静的にして次のように記述する方がはるかに簡単です。 StatisticManager.method();
おそらくシングルトンには静的クラスよりも優れた点があると思います。ハブレに関する記事を読んだのですが、疑惑はさらに強まるばかりです。少なくともこのタスクでは、シングルトンは冗長です。これまでのところ、シングルトンの用途は 1 つだけです。リソースを保存してオブジェクトをすぐに作成する必要がある場合ではなく、後で必要になったときに作成する必要がある場合です。他の場合には、静的クラスで十分です。Habré では相続についても書いていますが、そのような状況はほとんど想像できませんし、おそらくそれほど頻繁ではありません。私が間違っている場合は、修正してください。私は設計原則をもっとよく理解したいだけです。おそらくこれは他の誰かがそれを理解するのに役立つでしょう:)
GO TO FULL VERSION