Estaba buscando el código fuente js para Scrabb.ly.¿Cómo se conoce este patrón de diseño en JavaScript?
me he dado cuenta de que iban a hacer algo como lo que para cada uno de sus "clases" distintas:
var Board = (function() {
var self = {};
// settings for board
self.options = {
debug: true,
addedPlayTiles: function() {},
clearedPlayTiles: function() {}
};
// set to true once the board has been setup
self.isSetup = false;
// quick access to square elements
self.squares = {};
self.squareCount = 0;
self.setup = function(options) {
self.log("Setting up board!");
// set options
_.each(options, function(val, key) {
self.options[key] = val;
});
return self;
})();
Parte del código de la zona central se ha omitido, pero esto debe darle la idea general.
- ¿Cuál es el propósito de lo siguiente:
(function() { // code })();
¿Es este el patrón de módulo que he visto hablar? ¿Esto es para mantener limpio el espacio de nombres global? - ¿Qué significa esta línea ?:
var self = {}
¿Se usa el autoobjeto para exponer miembros 'públicos'? ¿Cómo definirías una función o variable privada? - ¿Cómo crearías varias "placas" si quisieras?
Creo que quieres decir "objeto" no "conjunto"? –
@Daniel Vassallo: debería decir "literal del objeto", buena captura. –