0


0

シングルトンパターンを使用する理由

So.. ActionScript 3でシングルトンパターンを使用する必要がある理由がわかりません。 誰もこれを説明できますか? たぶん私はそれの目的を理解していないだけかもしれません。 他のパターンとはどう違うのですか? 使い方? PureMVCのソースを確認したところ、シングルトンでいっぱいです。 ビュー、モジュール、コントローラーでそれらを使用するのはなぜですか?

2 Answer


3


PureMVCの実用的な経験はほとんどないため、Singletonの使用について賛成または反対することはできません。 したがって、回答をより一般的なものにしようとします。

シングルトンは、1回だけインスタンス化でき、グローバルにアクセス可能なオブジェクトのタイプです。

通常、この種のパターンは、何らかの種類のサービス、おそらくサーバーからデータを取得するために使用されるサービスファサード、または設定などに関する情報を保持するアプリケーションモデルに簡単にアクセスするために使用されます。

シングルトンパターンは多くの理由でアンチパターンであると考えられていますが、そのいくつかを以下で説明します。

  1. 状態を保持し、ユニットテストなどの特定のタスクを仮想的に実行します。 不可能。

  2. それらは本質的に単一責任原則に違反します。

  3. それらはグローバルであるため、クラス間の密結合を促進します アクセス可能。

シングルトンがアンチパターンになる理由のすべてを列挙するわけではありません。http://blogs.msdn.com/b/scottdensmore/archive/2004/05/25/140827.aspx [リソース]がたくさんあります。 subjectで。


1


シングルトンパターンは、オブジェクトのインスタンス化を1つのインスタンスのみに制限します。 システムでこのパターンが使用されるため、システムの一部を制御するオブジェクトを自由に作成できない場合があります。 たとえば、設定を管理するオブジェクトがある場合、設定を変更して、1つのオブジェクトのみを変更し、新しいオブジェクトを作成しないようにする必要があります。