AngularJS를 제대로 알기 전 개념을 잡는 내용이다.


이전 게시글 클로저(Closures) 개념을 이해하고 난 뒤, 모듈패턴을 공부하면 더 쉬울 거 같다.


모듈패턴은 코드 관리 기법 중 하나로 객체 핸들링을 위한 방법 중 하나이다.

객체에 유효 범위를 줘서 private이나 public과 같은 접근 제한자와 같은 효과를 줄 수 있도록 캡슐화 할 때 사용한다.

그리고 모듈은 자체적으로 필요한 내부 변수 및 함수를 모두 가지고 있어야 성립한다.


아래의 예제는 모듈패턴 중 기본적인 형태를 가진 것이다.

var module = (function() {

var cnt = 0;

return {

incCnt : function() {

return cnt++;

},

decCnt : function() {

return cnt--;

}

}

})();


return이 되는 영역은 public으로 만들어 접근이 가능하고, return 문맥전의 공간은 클로저가 형성되면서 private 영역이 된다. 즉, 외부에서 직접적으로 cnt 변수에 접근하지 못하므로 cnt 변수는 private 영역에 있는 것과 같은 것이다.

모듈패턴이 클로저와 가장 다른 점은 모듈패턴의 return 값은 변수가 아닌 객체이며, 자동호출이 된다는 것이다.


+ Recent posts