JavaScript Revealing Module Pattern

Disponível também em inglês

Se você programou em javascript a sua vida inteira escrevendo um monte de métodos de apenas um arquivo… pare! Aprenda como o Revealing Module Pattern pode te ajudar a separar e organizar o seu código.

Revealing Module Pattern quer dizer que você tem um Module (como um container ou classe) que você encapsula os métodos e expões strong>Reveal somente aqueles que você quer.

var converter = function(){

     var convertToString = function(aNumber){
        if(!checkIfIsNumber (aNumber)){
           return null;
        }

        return parseNumber(aNumber);
     },

     checkIfIsNumber = function(aNumber){
       if(isNumber(aNumber)){
          return true;
       } else {
          return false;
       }
     }

     return {
       convertToString: convertToString
     }

}();

O Module “converter” acima encapsula dois métodos: um método privado “checkIfIsNumber” e outro público “convertToString”. E eu estou apenas expondo Revealing o método “convertToString”.

Então use dessa forma:

var num = converter.convertToString(100);

O Module “converter” é auto invocado, por isso você consegue chamar diretamente o “converter”. Se você quiser que o Module funcione como uma classe, remova os parênteses”()” na última linha.

Então o Module ficará assim:

var converter = function(){

};

Então use dessa forma:

var num = new converter().convertToString(100);

Clean, bonito e organizado!

Bom é isso. Esperto que tenha ajudado.

Abaixo encontrará alguns links úteis.

JavaScript Revealing Module Pattern

Revealing Module Pattern: Perguntas, sugestões ou críticas são bem vindas. Boa sorte!

Faça download completo do código fonte no github.
Sobre o Autor:
Trabalha como arquiteto de soluções e desenvolvedor, tem mais de 18 anos de experiência em desenvolvimento de software em diversas plataformas sendo mais de 16 anos somente para o mercado de seguros.