Node.js 디자인 패턴: 싱글턴 패턴이 무엇인가요? js 싱글턴 모드 소개

不言
풀어 주다: 2018-08-17 16:00:56
원래의
3379명이 탐색했습니다.

이 기사에서는 js 디자인 패턴에 대한 내용을 제공합니다. 싱글턴 패턴이란 무엇입니까? js 싱글톤 모드의 도입은 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

싱글턴 패턴이란 무엇입니까

정의: 1 인스턴스가 하나뿐입니다. 2. 글로벌하게 접근 가능

메인 솔루션: 글로벌하게 사용되는 클래스는 자주 생성되고 소멸됩니다.

js 싱글턴 모드를 사용하는 경우: 인스턴스 수를 제어하고 시스템 리소스를 절약하고 싶을 때.

해결 방법: 시스템에 이미 이 싱글톤이 있는지 확인하고, 있으면 반환하고, 없으면 생성합니다.

js 싱글턴 모드의 장점: 1. 메모리에 인스턴스가 하나만 있어서 메모리 오버헤드가 줄어듭니다. 특히 인스턴스가 자주 생성되고 삭제되는 경우(예: 관리) 홈페이지) 캐시). 2. 자원의 다중 점유(예: 파일 쓰기 작업)를 피하십시오.

싱글턴 모델의 단점: 인터페이스 없음, 상속 없음, 단일 책임 원칙과 충돌, 클래스는 외부에서 인스턴스화하는 방법이 아닌 내부 논리에만 관심을 가져야 합니다. .

js 싱글턴 모드 사용 시나리오: 1. 글로벌 캐시. 2. 팝업창

js 싱글턴 모드 구현:

const singleton = function(name) {
    this.name = name
    this.instance = null
}

singleton.prototype.getName = function() {
    console.log(this.name)
}

singleton.getInstance = function(name) {
    if (!this.instance) { // 关键语句
        this.instance = new singleton(name)
    }
    return this.instance
}

// test
const a = singleton.getInstance('a') // 通过 getInstance 来获取实例
const b = singleton.getInstance('b')
console.log(a === b)
로그인 후 복사

JavaScript의 싱글턴 모드

JavaScript는 클래스 없는 언어이기 때문에, JS의 전역 객체는 싱글톤 패턴의 두 가지 조건을 충족합니다. 전역 객체를 싱글턴 모드로 사용하는 경우가 많습니다

var obj = {}
로그인 후 복사

팝업 레이어 실습

팝업을 구현하는 한 가지 방법은 팝업을 먼저 만든 다음 Hidden을 사용하는 것입니다. 이는 불필요한 DOM 오버헤드를 낭비하게 됩니다. 팝업 상자가 필요할 때 이를 생성하고 이를 싱글톤 모드와 결합하여 단 하나의 인스턴스만 달성함으로써 일부 DOM 오버헤드를 절약할 수 있습니다. 다음은 로그인 상자 코드의 일부입니다.

//弹框层的实践
const createLoginLayer = function() {
    const myDiv = document.createElement('div')
    myDiv.innerHTML = '登入浮框'
    // myDiv.style.display = 'none'
    document.body.appendChild(myDiv);
    return myDiv
}

//使单例模式和创建弹框代码解耦
const getSingle = function(fn) {
  let result = null;
  return function() {
      if(!result){
          result = fn.apply(this, arguments);
      }
    return result;
  }
}

const createSingleLoginLayer = getSingle(createLoginLayer)

document.getElementById('loginBtn').onclick = function() {
    createSingleLoginLayer()
}
로그인 후 복사

관련 권장 사항:

JS 디자인 패턴의 생성자 패턴에 대한 자세한 설명
#🎜🎜 #

php 디자인 패턴, 디자인 패턴

php 디자인 패턴 싱글턴 패턴 코드, php 디자인 패턴 #🎜🎜 #

위 내용은 Node.js 디자인 패턴: 싱글턴 패턴이 무엇인가요? js 싱글턴 모드 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿