Singleton Pattern [Design Pattern]

  • タイトルまんま

下記のコードではconsoleで’same instance’が表示されます
つまりSingleton.getInstance()を2回読んでも同じインスタンスですね!

const Singleton = (() => {  // IIF関数
   let singleton;

   const getNewInstance = () => new Object(‘Singleton’);

   return {
       getInstance: () => {
           if (!singleton) {
            singleton = getNewInstance();
           }
           return singleton;
       }
   }
})();

const firstInstance = Singleton.getInstance();
const secondInstance = Singleton.getInstance();

if (firstInstance === secondInstance) {
   console.log(‘same instance’)
}

挙動がどうなっているか、気になる所だと思います
そんな時は’Python Tutor’!
Pythonって名前だけどJava Scriptも確認できるよ!

ここに上記のコードを貼ったものを載せて起きます
リンク先のVisualize Executionボタンを押して是非挙動を確認してみてください!

増補改訂版 Java言語で学ぶデザインパターン入門 | 結城 浩 | コンピュータ・IT | Kindleストア | Amazon
Amazonで結城 浩の{ProductTitle}。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで | 山田 祥寛 | 工学 | Kindleストア | Amazon
Amazonで山田 祥寛の{ProductTitle}。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】

コメント

タイトルとURLをコピーしました