シングルトンの利点について | Unity Forum | Tech Stadium Forum

シングルトンの利点について
 
通知
すべてクリア

シングルトンの利点について  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
04/09/2020 10:45 am  

サンプルのItemListプロジェクトをトレースしていたのですが、シングルトンの利点がまだよくわかっていません。。
具体的にはスクショの箇所でいうと、`GetInstance()` しているところで`new クラス名()` としてはダメなのか?という疑問があります。


引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
04/09/2020 10:50 am  

Unityでの開発で、シングルトンは主にManagerクラスに使われることが多いです。
Managerクラスはゲーム全体に影響を及ぼす値等を持つオブジェクトですが、これらが複数存在してしまうとデータ取得の時にどっちのManagerクラスから取得したらいいのかわからなくなってしまいます。(さらに、同じManagerクラスでも持っている値が違ったらさらに大変ですね)

そういった「複数のオブジェクトがデータを重複して持つ」といった事を避けるためにシングルトンは利用されます。
シングルトンとはこのインスタンスが1つしか生成されないということを保証するものであり、シングルトンを使って作成したオブジェクトはゲーム内に1つしか存在しません。

よって先ほどのデータが重複してしまうことを避けることができます。
さらにグローバル変数のような扱いをすることができ、ゲーム開始時にFindでManagerクラスを探したり
Managerをpublicにして、毎回インスペクター上でつないでいたりするのを避けられるメリットもあります。

複雑な事を長々と書きましたが、端的に言うと「2つ以上存在すると困るManagerオブジェクトに対して利用するとかなり便利」くらいに把握しておくと良いです。


返信引用
共有:
タイトルとURLをコピーしました