Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Javascript Patterns

Javier Hidalgo
July 07, 2014
130

Javascript Patterns

Presentación hecha en las oficinas de COMPEC.

Links:
https://github.com/javichito/design-patterns-js

Javier Hidalgo

July 07, 2014
Tweet

Transcript

  1. ECMAScript  (Javascript)  es  un  lenguaje  de   programación  orientado  a

     objetos  que   permite  realizar  computación  y  manipulación   de  objetos  dentro  de  un  entorno  anfitrión.   hDp://www.ecma-­‐internaIonal.org/publicaIons/files/ECMA-­‐ST/Ecma-­‐262.pdf    
  2. ¿Qué es un patrón? Es una solución a un problema

    común Una abstracción útil, una plantilla para resolver categorías de problemas
  3. ¿Por qué son importantes? Nos ayudan a escribir mejor código

    usando prácticas probadas. Mejoran la comunicación entre desarrolladores
  4. ¿Cuál es su antítesis? Lo opuesto a un patrón es

    un anti patrón. Es un aprovechamiento común que se usa al intentar resolver un problema pero que genera más problemas que soluciones.
  5. Peor aun… Un antipatrón es exponencialmente negativo porque cualquier persona

    nueva al proyecto lo replicará alegremente (sin mala intención) y lo esparcirá por donde fuera que vaya.
  6. Peculiaridades Javascript es un lenguaje muy singular, tiene herencia orientada

    a prototipos pero existe un operador new (como en los lenguajes de herencia clásica).
  7. Peculiaridades Las funciones son objetos, por lo tanto, son ciudadanas

    de primera clase. Funciones pueden devolver funciones, recibir funciones como argumento, como lo harían con cualquier otro objeto.
  8. ¿Creías que era como Java? Lamento decepcionarte. Fuera de la

    sintáxis, Javascript se parece más a lenguajes funcionales como Lisp que a Java.
  9. Orientado a Objetos Solo existen 5 tipos de datos primitivos

    (undefined, null, number, string y boolean). TODO lo demás son objetos.
  10. Objeto de activación Cuando defines una variable, esta se convierte

    automáticamente en una propiedad de un objeto interno (window, global) conocido como el Objeto de activación.
  11. Objeto de activación Por este motivo es fácil llenar el

    alcance global de propiedades. En la medida que la aplicación crece se hace necesario determinar una estrategia para organizar los distintos objetos que conforman la aplicación.
  12. Prototipos Javascript facilita la reutilización de código a traves de

    prototipos (herencia prototípica) que es básicamente una forma de adquirir propiedades de otro objeto. Toda función posee una propiedad “prototype” que es un puntero a otro objeto.
  13. Patrón “Observer” Cuando un objeto cambia su estado, notifica de

    este cambio a todos los objetos que lo esten observando. Es un patrón muy común en el desarrollo de aplicaciones del lado del cliente.
  14. Patrón “Facade” Provee una interfaz simple a una pieza de

    código más compleja con el objetivo de hacerla más fácil de usar.
  15. Patrón “Module” Es uno de los patrones más usados en

    Javascript. Provee estructura y ayuda a organizar tu código en la medida en que crece.