-1

Шаблон модуля (или) Шаблон прототипаКакой шаблон дизайна следует при создании объектов с помощью Javascript?

Использование: Я должен создать несколько объектов, но базовый класс не получает никакого производного класса, я могу использовать шаблон модуля с общими глобальными функциями вместо прототипа.

Например:

кода 1: (модуль модель)

var globals = { 
    method1 : function(){ 
     console.log("global method"); 
    } 
} 
function closureModule(){ 
    obj = {}; 
    obj.commonMethod = globals.method1; 
    function pvtMethod(){ 
     console.log("private"); 
    } 
    obj.privateMethod = pvtMethod 
    return obj; 
} 
var o1 = closureModule(); 
var o2 = closureModule(); 
. 
. 
. 
. 
var o100 = closureModule(); 

код 2: (паттерн прототипа)

function base(key){ 
    this.KEY = key; 
} 

base.prototype.commonMethod = function(){ 
    console.log("common Method", this); 
} 

var o1 = new base("0"); 
var o2 = new base("1"); 
. 
. 
. 
. 
var o100 = new base("100"); 
+0

Вы можете использовать (раскрывающий) шаблон модуля как вокруг заводов, так и вокруг конструкторов + прототипов. Модуляция просто лучше для организации кода, которую подход, который вы используете при создании объекта, основан исключительно на мнениях. – Bergi

+0

, пожалуйста, поделитесь ссылкой, связанной с отображением шаблона модуля, с примером. – Deepaklal

+0

Вы, безусловно, можете использовать этот термин в своей [любимой поисковой системе] (https://stackoverflow.com/search?q=revealing+module+pattern), не так ли? – Bergi

ответ

0

Шаблон модуля является наиболее полезным для обеспечения надлежащей инкапсуляции путем скрывая детали внутренней реализации.

Если вы хотите, чтобы несколько экземпляров одного и того же «класса» делились публичной функцией, то использование prototype - правильный подход.