본문 바로가기

자바스크립트

MVC와 명칭공간

애플리케이션의 뷰, 상태, 데이터를 완벽하게 분리하면 애플리케이션 구조를 깔끔하게 유지할 수 있으므로 지속가능한 애플리케이션을 만들 수 있다. MVC 패턴에서 데이터 관리는 모델(M of MVC)에 해당한다.모델은 뷰, 컨트롤러와 분리되어야 한다. 모델에 포함하는 데이터 조작과 관련한 로직이나 행동 등에는 적절하게 명칭공간을 사용해야 한다.

 

자바스크립트에서는 함수와 변수를 명칭공간으로 추가하여 함수와 변수를 오브젝트의 프로퍼티로 만들 수 있다.

var User = {
    records: [
        
    ]
}

모든 모델의 프로퍼티를 명칭공간 아래에 추가하여 충돌을 피할 수 있으며 MVC를 준수하는 모델을 유지할 수 있다. 명칭공간을 이용해야 함수와 콜백이 서로 엉망으로 뒤얽히는 상황을 피할 수 있다.

실제 사용자 옵젝트의 인스턴스 전용 함수에도 명칭공간을 사용할 수 있다. 예를 들어 사용자가 레코드를 삭제하는 destroy() 함수를 추가한다고 가정하자. destroy() 함수는 특정 사용자의 레코드를 삭제하는 함수이므로 User 인스턴스에 추가해야 한다.

var user = new User;
user.destroy();

위와 같이 destory()를 호출하려면 User를 일반 오브젝트가 아니라 클래스로 만들어야 한다.

var user = new User;
user.destroy();

var User = function(atts) {
    this.attributes = atts || {};
}

User.prototype.destroy = function() {
    
}

사용자가 직접 관련이 없는 함수와 변수는 User 오브젝트의 프로퍼티로 추가한다.

User.fetchRemote = function() {
    
}

'자바스크립트' 카테고리의 다른 글

ID 지원 기능 추가  (0) 2022.04.10
ORM 만들기  (0) 2022.04.09
비공개 함수 추가하기  (0) 2022.04.03
클래스 라이브러리에서 범위 조절하기  (0) 2022.04.03
함수 호출  (0) 2022.04.03