設計模式-單例模式

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


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

     }

})()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • javascript有很多創建對象的模式,完成工作的方式也不只一種。你可以隨時定義自己的類型或自己的泛用對象。可以...
    WanLum阅读 1,823评论 0 0
  • 也許你還沒有理解構造函數和原型對象的時候已經在javascript的路上走了很久,但直到你很好的掌握它們之前你不會...
    WanLum阅读 3,081评论 0 1
  • 學習如何創建對象時理解面向對象的第一步。第二部時理解繼承。在傳統面向對象的語言中,類從其他類繼承屬性。然而在jav...
    WanLum阅读 2,435评论 0 0
  • 大多数的开发者在使用Java或C#等基于类的语言的过程中学会了面向对象编程。由于JavaScript没有对类的正式...
    WanLum阅读 3,688评论 0 4
  • 尽管javascript里有大量内建引用对象,很可能你还说会频繁创建自己的对象。当你在这么做的时候,记得javas...
    WanLum阅读 3,529评论 1 3

友情链接更多精彩内容