노출모듈 패턴

고장난 고양이·2022년 7월 8일
0

개발지식

목록 보기
10/25

노출모듈 패턴이란?

노출모듈 패턴은 즉시 실행함수를 통해 private, public 같은 접근 제어자를 만드는 패턴을 말합니다. 자바스크립트는 private나 public 같은 접근 제어자가 존재하지않고 전역 범위에서 스크립트가 실행됩니다. 그렇기 때문에 노출모듈 패턴을 통해 private나 public 접근제어자를 구현하기도 합니다.

(장점)

  • 개발자에게 깔끔한 접근 방법을 제공
  • private 데이터 제공
  • 전역 변수를 덜 더럽힘
  • 클로저를 통해 함수와 변수를 지역화
  • 스크립트 문법이 더 일관성 있음
  • 명시적으로 public 메소드와 변수를 제공해 명시성을 높임

(단점)

  • private 메소드 접근할 방법이 없음 (이런 메소드에 대한 테스트의 어려움을 이야기하기도 하지만 함수 무결성을 고려할 때 공개된 메소드만 테스트 하는게 맞음. )
  • private 메소드에 대해 함수 확장하는데 어려움이 있음
  • private 메소드를 참조하는 public 메소드를 수정하기 어려움

용어

  • publ;ic
    클래스에 정의도니 함수에서 접근 가능하며 자식 클래스와 외부클래스에서 접근 간으한 범위

  • protected
    클래스에 정의된 함수에서 접근 간으, 자식 클래스에서 접근 가능하지만 외부클래스에서 접근 불가능한 범위

  • private
    클래스에 정의된 함수에서 접근 가능하지만 자식 클래스와 외부 클래스에서 접근 불가능한 범위

  • 즉시 실행함수
    함수를 정의하자마자 바로 호출하는 함수. 초기화코드, 라이브러리 내 전역 변수의 충돌 방지 등에 사용한다.

참고
https://edykim.com/ko/post/revealing-module-pattern/

profile
개발새발X발일지

0개의 댓글