當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS 设计模式之初识(一)-单例模式
生活随笔
收集整理的這篇文章主要介紹了
JS 设计模式之初识(一)-单例模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、定義
設計模式的定義是:在面向對象軟件設計過程中針對特定問題的簡潔而優雅的解決 方案,通俗一點說,設計模式是在某種場合下對某個問題的一種解決方案。如果再通俗一點說,設計模式就是給面向對象軟件開發中的一些好的設計取個名字。也就是說設計模式并不難,而只是一些目前公認的解決某些問題的最佳實現而已。
1. 單例模式
單例模式的定義是:保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。例如:線程池,全局緩存,瀏覽器window對象等,這些都只需要一個對象實例就足夠了。
1.1 實現單例模式
要實現單例模式也并不復雜,只要用一個變量來標識是否已經給某個類創建過實例,如果是,則在下一次獲取該類的實例的時候,直接返回已經緩存好的實例, 否則創建并緩存這個實例。
1.單例模式實現一
// 單例模式實現一function SingleTon(name) {this.name = name;this.instance = null;}SingleTon.prototype.getName = function() {return this.name;}SingleTon.getInstance = function(name) {if (this.instance) {return this.instance;}return new SingleTon(name);} 復制代碼注意: 類(class)通過static關鍵字定義靜態方法。不能在類的實例上調用靜態方法,而應該通過類本身調用。這些通常是實用程序方法,例如創建或克隆對象的功能
4.衍生, 使用閉包來封裝私有變量
// 使用閉包來封裝私有變量const user = (function() {let name = 'timo';let age = 22;return {getUserInfo: function() {return name + ' '+ age;}};})(); 復制代碼特別注意:let 和 const 聲明并不會綁定到全局的window對象上!!!而使用var聲明會自動綁定到window
總結:
單例模式是一種簡單但非常實用的模式,特別是惰性單例技術,在合適的時候才創建對象,并且只創建唯一的一個。
轉載于:https://juejin.im/post/5cfa1f2be51d45773d4685da
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的JS 设计模式之初识(一)-单例模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上传图片时 , 返回 nginx 出现4
- 下一篇: Spark学习之Spark RDD算子