6. JavaScript no es como cualquier
otro lenguaje orientado a objetos
No vale con tirar líneas de código sin más
Tiene importantes diferencias con otros lenguajes
7. var myBeer = {
“name” : “Moritz”,
“take” : function() { alert(“Great!”); },
“displayName” : function() {
alert(this.name + “ is my Beer”);
},
“drink” : function() {
// not implemented
}
};
myBeer.displayName();
myBeer.drink();
8. PATRONES DE CREACIÓN DE OBJETOS
NAMESPACE - DECLARING DEPENDENCIES - PRIVATE PROPERTIES AND
METHODS – REVELATION PATTERN - MODULE PATTERN - SANDBOX -
STATIC MEMBERS - OBJECT CONSTANTS - CHAINING PATTERN
PATRONES DE REUTILIZACIÓN DE CÓDIGO
PROTOTYPAL INHERITANCE - INHERITANCE BY COPYING PROPERTIES –
MIX-INS - BORROWING METHODS
PATRONES DE DISEÑO
BUILDER – FACTORY – SINGLETON – DECORATOR – FAÇADE – PROXY –
CHAIN OF RESPOSIBILITY – COMMAND - ITERATOR – MEDIATOR –
OBSERVER - STRATEGY
9. Patrón Module
var basketModule = (function() {
var basket = []; //private
return { //exposed to public
addItem: function(values) {
basket.push(values);
},
getItemCount: function() {
return basket.length;
},
getTotal: function(){
var q = this.getItemCount(),p=0;
while(q--){
p+= basket[q].price;
}
return p;
}
}
}());
9