設計模式-單例模式

有且只有一個實例, 且只有一個訪問入口, 這就是單例模式


class SingleAuthor {

    getGrilfriend () {

        console.log(" i love you")

    }

   static sleep () {

      if (!SingleAuthor.dream) {

         SingleAuthor.dream = new SingleAuthor()

      }

   return SingleAuhor.dream

   }

}

const codeMan = SingleAuthor.sleep()

const codeDog = SingleAuthor.sleep()

console.log(codeMan === codeDog) // true

單例模式要實現就是, 不管你創建多少次,最後返回給你的都是你唯一的那個實例, 理解這個原理就可以很好的知道單例模式的運用了, 同時我們也可以用閉包實現

Single.sleep = (function () {

    let dream = null

    return function () {

       if (!dream) {

          dream = new Single()

       }

       return dream

     }

})()

你可能感兴趣的:(設計模式-單例模式)