相信對 JavaScript 夠熟的人都知道什麼是基本的 Module Pattern,雖然小弟我很少利用此基本的 Module Pattern 去建立 Web (遮臉...),因為有一堆 Framework 都提供了好用的 Module Pattern Design,不過還是稍為紀錄一下一個 Module 基本的樣子,對於 Module 建立的觀念頗有幫助。
// Check Module Namespace
MYAPP.namespace( 'MYAPP.utilities.array' );
MYAPP.utilities.array = (function() {
// Module Dependency Declaration
var uobj = MYAPP.utilities.object,
ulang = MYAPP.utilities.lang;
// Module Private Property
var _array_string = "[object.Array]",
_ops = Object.prototype.toString;
// Module Private Method
var _isArray = function( a ) {
return _ops.call( a ) === array_string;
};
// Module one time initial procedure (optional)
// Module Public API
return {
isArray: _isArray
}
}());
MYAPP.utilities.array = (function() {
// Module Dependency Declaration
var uobj = MYAPP.utilities.object,
ulang = MYAPP.utilities.lang;
// Module Private Property
var _array_string = "[object.Array]",
_ops = Object.prototype.toString;
// Module Private Method
var _isArray = function( a ) {
return _ops.call( a ) === array_string;
};
// Module one time initial procedure (optional)
// Module Public API
return {
isArray: _isArray
}
}());
上面範例是由 JavaScript Design Pattern 書中的例子,稍微改了一下。
第一步就是要去檢查命名空間,避免去覆蓋掉已存在相同命名的程式。
第二部開始定義 Module,一般都以立即函式來定義。
第三部定義 Private 與 Public 的屬性與方法。
大致上就是這樣子。
全站熱搜