TypeScriptでシングルトンパターンの勉強をしたのでアウトプットします。
シングルトンパターンとは
シングルトンパターンとはオブジェクト指向のデザインパターンの一つで 、new でインスタンスを作成する際の数を一つしか作成できないようにしたパターンです。
ようするに、インスタンスは一つだけしか作れないということになります。
シングルトンパターンを実現するために
シングルトンパターンを実現するために以下のように記載します。
- コンストラクターをprivateにする(private constructor(name: string) {)
- staticのgetterメソッドを作成(static getInstance() {)
abstract class Type { //抽象クラス
constructor(public carType: string) {
}
abstract describe(this: Type): void;
}
class Car extends Type {
static instance: Car; //staticプロパティ
private constructor(name: string) {
super(name);
}
static getInstance() { //getterメソッド
if (Car.instance) {
return this.instance; //instanceがあればinstanceを返す
}
this.instance = new Car('セダン'); //instanceがない場合インスタンス化を実行
return this.instance;
}
describe() { }
}
console.log(Car.getInstance()); //Car {carType: 'セダン'}
あまり使う頻度は多くないようですが、もう少し詳しく勉強して記事をアップデートさせていきたいです。