2012-07-20 29 views
1

我一直在使用這種模式,每當我需要創建一個類可能需要多次實例化,我想防止私人方法被訪問的對象之外。這個JavaScript模式的名字是什麼?

此JavaScript模式的名稱是什麼?上述

http://jsfiddle.net/CHcXG/

var baseball = (function() { 

    var _add = function(value) { 
     value = value + 5; 
     return value; 
    }; 


    var constructor = function(iVal) { 
     this.baseball = true; 
     this.num = iVal; 
    }; 

    constructor.prototype.add = function() { 
     this.num = _add(this.num); 
    }; 

    return constructor; 

})(); 

var test = new baseball(5); 
var testb = new baseball(6); 

的名稱,值和在該示例方法是完全沒有意義;我只想說明模式的語法,結構和用法。

回答

0

這是一個module pattern,差不多是revealing module pattern。請參閱Addy Osmani的鏈接頁面以獲取關於它的信息以及許多其他有用的Javascript設計模式。

+0

模塊模式幾乎相同,我的例子,但它看起來像模塊模式是唯一的實例化一次 - 因爲它返回一個對象而不是原型函數。 – 2012-07-20 23:33:25

0

是的,模塊模式,但也是臨界啓示模式。

我想這可能被認爲是「revealer module pattern」如果你想成爲慷慨有隻爲1個單迴路功能