見出し画像

Flutterのシングルトン

 シングルトンとは

シングルトンクラスは、あるクラスのインスタンスが2つ以上生成されないことを保証するデザイン・パターンの1つです。一般的にシングルトンクラスの実装は以下の仕様となります。

・インスタンスを1つだけ生成する

・クラスのスタティックメンバとしてインスタンスのキャッシュを保持する

・インスタンスのキャッシュを返すファクトリーコンストラクタ

どういうときに使うか

シングルトンクラスは、インスタンスの状態を保持してクラス間で共通のメソッドやプロパティにアクセスしたいときによく使われます。

サンプルコード

SampleServiceがシングルトンクラスです。

void main() {
 final service = SampleService();
 service.doSomething();
 
 runApp(MyApp());
}

class SampleService {
 // インスタンスのキャッシュ
 static final SampleService _instance = SampleService._internal();
 
 // ファクトリーコンストラクタ
 factory SampleService() => _instance;
 
 // 内部から呼び出してインスタンスを作る為のコンストラクタ
 SampleService._internal();

 doSomething() {
   print('hello!');
 }
}



この記事が気に入ったらサポートをしてみませんか?