Buscar..


Observaciones

En Javascript, no hay noción de espacios de nombres y son muy útiles para organizar el código en varios idiomas. Para javascript, ayudan a reducir la cantidad de globales requeridos por nuestros programas y al mismo tiempo también ayudan a evitar colisiones de nombres o el prefijo excesivo de nombres. En lugar de contaminar el ámbito global con una gran cantidad de funciones, objetos y otras variables, puede crear un objeto global (e idealmente solo uno) para su aplicación o biblioteca.

Espacio de nombres por asignación directa

 //Before: antipattern 3 global variables
    var setActivePage = function () {};
    var getPage = function() {};
    var redirectPage = function() {};

//After:  just 1 global variable, no function collision and more meaningful function names
    var NavigationNs = NavigationNs || {};
    NavigationNs.active = function() {}
    NavigationNs.pagination = function() {}
    NavigationNs.redirection = function() {}

Espacios de nombres anidados

Cuando se involucran múltiples módulos, evite la proliferación de nombres globales creando un único espacio de nombres global. Desde allí, se pueden agregar sub-módulos al espacio de nombres global. (La anidación adicional ralentizará el rendimiento y agregará una complejidad innecesaria). Se pueden usar nombres más largos si los choques de nombres son un problema:

 var NavigationNs = NavigationNs || {};
     NavigationNs.active =  {};
     NavigationNs.pagination = {};
     NavigationNs.redirection = {};
    
     // The second level start here.
     Navigational.pagination.jquery = function();
     Navigational.pagination.angular = function();
     Navigational.pagination.ember = function();


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow