[강좌] namespace

ITWeb/개발일반 2007. 4. 3. 18:38

ajax 가 보편화 되면서 javascript 에 대한 oop 개발 방법이 많이 도입되고 있는데요.
그냥 공부도 할겸 client application 에 관심이 많은 지라 javascript 강좌를 개설 했습니다.

뭐 우선 내가 좋아라 하는 거나 만들고 있는 것 부터 시작을 할까 합니다.
그 첫번째가 namespace 인데요.

http://www.mozilla.org/js/language/js20/core/namespaces.html

If a namespace is defined as a member of a class, then the namespace must be declared static.
번역을 하자면.. (참고로 저는 영어 그닥 잘하지 못합니다.. ^^;)
클래스 맴버로 namespace 가 선언되어 있으면 선언된 namespace 는 반듯이 static 으로 선언 되어 진다.
라는 이야기 입니다.

예를 통해서 확인해 보죠..

http://www.junetool.com/splv/namespace.html

- web.js 코드
/*
   namespace 를 등록하는 이유는 javascript 의 OOP 개발 방법을 적용하기 위한 방법중 하나이다.
*/
// global class (package)
var web = web || {};

// name space function
web.namespace = function ( sNS ) {
    var aNS = sNS.split(".");
    var oTopClass = web;
    var i=0;

    for ( i=0; i<aNS.length; i++ ) {
        oTopClass[aNS[i]] = oTopClass[aNS[i]] || {};
    }
}

-- namespace.html 코드
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>javascript::namespace</title>
</head>
<script src="web.js"></script>
<script>
web.util = {
    temp:"web.util"
}

web.util.string = {
    temp:"web.util.string"
}
</script>

<body>

<script>
web.namespace("WEB.util.string");
alert(web.util.temp + "\n" + web.util.string.temp);
</script>
</body>
</html>

요기까지 허접 설명 이였구요.
좀 다듬어진걸로 해서 서버에 올리고 공유 하지요.

참 요즘 표준화에도 관심이 많습니다.
표준화에 대해서도 시간이 되는 데로 욜심히 올려 보도록 하겠습니다.

: