[Javascript] 네임스페이스(namespace) 패턴

목차

※ 네임스페이스 패턴

네임스페이스 패턴을 사용하는 이유는 수많은 함수, 객체, 변수들로 전역으로 되어 선언 되어 있는 것을 줄이고자 하는데 큰 목적이 있다.

이와 같은 패턴을 사용하는 이유는 전역변수를 적게 쓰면 미세하게나마 메모리를 줄일 수 있고, 작은 홈페이지를 만드는데에는 큰 지장이 없으나 규모가 큰 홈페이지를 만들었을 시에는 라이브러리, 트래킹코드 등 서드파티(3자)의 코드를 삽입하게 될 때 변수명의 충돌을 방지할 수 있다. 

꼭 사용하길 바란다.


간단한 예제를 보자

전역객체 5개를 생성했던 일반 코드에서 1개로 줄였다.

네임스페이스 패턴을 적용시에 전역객체인 MYAPP을 한 개만 생성하여 해당 객체에 프로퍼티를 동적으로 생성하여 사용을 한다.



장점이 있다면 단점도 있다.

※ 단점

1. 모든 변수와 함수에 접두어를 붙여야 한다. 코드량이 길어지고 다운로드해야하는 파일의 크기도 커진다.

2. 전역 인스턴스가 하나 뿐이어어서 코드의 한 부분이 수정되면 전역 인스턴스를 수정하게 된다.

3. 이름이 중첩되고 길어지므로 프로퍼티를 판별하기 위해 검색 작업이 느려진다.


그렇다고 쓰지 말아야 하나?

아니다

네임스페이스 패턴은 아주 좋은 패턴이므로 사용하는 것이 좋다.



범용 네임스페이스 함수

프로그램의 복잡도가 증가하면 네임스페이스에 추가하려는 프로퍼티가 이미 존재 할 수도 있고 실수로 내용을 덮어 쓰게 될 지도 모른다. 그러므로 네임스페이스를 생성하거나 프로퍼티를 추가하기 전에 이미 존재하는지 여부를 체크하는 것이 바람직한 방법이다.



  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유