Ext JS - Learning Center

Manual:Intro:Basic Application Design (Korean)

From Learn About the Ext JavaScript Library

Revision as of 00:46, 16 December 2008 by Rhiokim-37383 (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Summary: Basic Application Design
Author: Ext community (번역 : Rhio.Kim)
Published: Unkown
Ext Version: 1.1
Languages: en.png English kr.png Korean

더글러스 크록포드에 의해서 고안된 Module Pattern은 웹 어플리케이션을 가장 강력하고 유연하게 만드는 설계 방법입니다..


여러분은 여기에서 몇 가지 방법을 찾을 수 있을 것입니다.


module = function(){
    var count = 0; // 모듈을 위한 Private 변수. 외부에서 접근 할 수 없다.
    var increaseCount = function(){ // Private 함수, 외부에서 접근할 수 없다.
        count++;
    };
 
    return {
        init : function(){ // Privileged 메소드. 외부에서 호출될 수 있다.
            // 초기화 코드
        },
        getCount : function(){ // Privileged 메소드. 외부에서 호출될 수 있다.
            return count;
        },
        checkCount : function(){
            increaseCount();
            if (this.getCount() > 10)
                alert("count is greater than 10");
        }
    }
}();


또한 이 패턴은 여러분의 자바스크립트 코드에서 훌륭한 역할을 하도록 해줍니다. 지금 여러분은 getCount 라는 privileged 메소드를 호출하기 위해 아래처럼 할 수 있습니다.


module.getCount();


그러나 여러분은 count 변수와 increaseCount private 메소드에 직접적으로 접근할 수 없지만

여러분은 위에서 사용했던 checkCount privileged 메소드나 increaseCount private 메소드 처럼 privileged 메소드 내부에서는 그것들을 접근할 수 있습니다.

전형적인 Ext 어플리케이션은 이런식으로 개발되어졌습니다.


module = function(){
    var count = 0; // 모듈을 위한 Private 변수. 외부에서 접근 할 수 없다.
    var increaseCount = function(){ // Private 함수, 외부에서 접근할 수 없다.
        count++;
    }
 
    return {
        init : function(){ // Privileged 메소드. 외부에서 호출될 수 있다.
            // 초기화 코드
        },
        getCount : function(){ // Privileged 메소드. 외부에서 호출될 수 있다.
            return count;
        },
        checkCount : function(){
            increaseCount();
            if (this.getCount() > 10)
                alert("count is greater than 10");
        }
    }
}();
Ext.onReady(module.init, module);


마지막 구문은 두 가지 역할을 합니다 : 그것은 module.init을 수행하고 document가 완전히 로드되었을 때, module에 scope을 설정합니다.

Module에 scope를 설정하는 의미는 아래의 init 메소드 내부에서 checkCount 함수를 호출 할 수 있도록 하는 것입니다.


init : function(){
    this.checkCount();
}


Ext 어플리케이션 설계와 함께 시작하기 위한 학습은 이 정도로 충분합니다. 더욱더 자세한 사항은 Ext Documentation를 참고해주세요.

See also