He estado aprendiendo más y más javascript; es una necesidad en mi trabajo. Tenemos una aplicación web que utiliza una gran cantidad de JavaScript y voy a estar haciendo más y más cada día. He leído fragmentos sobre los patrones de diseño, pero me preguntaba si alguien podría darme un ejemplo y una definición. ¿Son algo que me beneficiaría? ¿O es más alto nivel?¿Son útiles los patrones de diseño en JavaScript? ¿Y qué son exactamente?
Respuesta
Los patrones de diseño son soluciones genéricas y usualmente elegantes para problemas de programación bien conocidos. Sin saber en qué problema estás trabajando, diría que "Sí" pueden ayudar a que tu código sea más manejable.
This link y this link hacer alguna referencia a los patrones de diseño en Javascript. Puede valer la pena revisar.
También hay un book about classic design patterns en javascript. Puede descargar ejemplos de su sitio.
Pero desde mi experiencia es obviamente más difícil implementar proyectos con gran cantidad de javascript.
Uno de los patrones de diseño específicos de JavaScript más prácticos y fáciles de usar que he encontrado es el Module Pattern, que es un código Singleton pattern modificado e impide que el alcance global se llene de variables y funciones que pueden entrar en conflicto entre sí en una página complicada.
Como los patrones de diseño son independientes del idioma, recomendaría leer uno de los libros clásicos sobre el tema. Mis favoritos son:
- Los patrones de aplicación de empresa Arquitectura de Martin Fowler (http://www.amazon.com/Enterprise-Application-Architecture-Addison-Wesley-Signature/dp/0321127420)
- Design Patterns: Elements of software reutilizables orientada a objetos por la "banda de los cuatro" (http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612/ref=sr_1_1?ie=UTF8&s=books&qid=1229278937&sr=1-1). Esto es un poco clásico.
Sin embargo, estos no son libros para principiantes de ninguna manera y puede obtener más valor de algunos de los muchos recursos web y tutoriales que existen (Wikipedia tiene algunas explicaciones razonables).
Mi propia experiencia es que el modelo de objetos en javascript es un poco más complicado de entender que otros como PHP o Ruby y, por lo tanto, la aplicación de patrones de diseño no siempre es tan fácil. Bibliotecas como Prototype proporcionan funciones para facilitar el trabajo de la herencia y esto hace que programar Javascript de una manera OO sea mucho más fácil.
recientemente he usado Javascript para implementar el uso de Active Record pattern prototipo, que se puede leer acerca más acerca de aquí si quieres: http://codeinthehole.com/archives/6-Active-record-javascript-objects-using-cookies.html
- 1. ¿Qué tan importantes son realmente los patrones de diseño?
- 2. ¿Qué son las cookies firmadas y por qué son útiles?
- 3. ¿Qué son exactamente los metadatos en SQLAlchemy?
- 4. ¿Qué son exactamente los "servicios de WPF"?
- 5. ¿Cuáles son los patrones de diseño comunes en Cocoa Touch?
- 6. ¿Qué son los filtros de intención exactamente?
- 7. ¿Qué son exactamente los tipos integrales?
- 8. ¿Qué son exactamente los recursos no administrados?
- 9. son los parámetros de validación realmente útiles?
- 10. ¿La unidad de trabajo y los patrones de repositorio son muy útiles para grandes proyectos?
- 11. ¿Cuándo son útiles los hilos daemon?
- 12. Cierres: ¿por qué son tan útiles?
- 13. SQL, OID de Postgres, ¿qué son y por qué son útiles?
- 14. ¿Qué tan importantes son los patrones de diseño en el desarrollo web?
- 15. ¿Cuáles son exactamente los requisitos y tareas en Scrum?
- 16. ¿Qué son buenos recursos OOP de JavaScript?
- 17. Cierres en PHP ... ¿qué son, exactamente, y cuándo necesitarías usarlos?
- 18. ¿Los patrones aritméticos son legales Haskell?
- 19. ¿Cuáles son algunos ejemplos en los que los árboles de expresiones son útiles?
- 20. ¿Qué son exactamente las funciones anónimas?
- 21. ¿Qué son prototipos en JavaScript?
- 22. ¿Cuáles son los frameworks de terceros de iPhone más útiles?
- 23. ¿Qué son exactamente las definiciones, declaraciones y asignaciones de C++?
- 24. ¿Son los siguientes exactamente lo mismo?
- 25. ¿Cuáles son algunas características útiles de TextMate?
- 26. ¿Cuáles son algunos ejemplos de implementaciones de patrones de diseño usando JavaScript?
- 27. ¿Los métodos classless en Python son útiles para cualquier cosa?
- 28. ¿Cuándo son útiles los bucles infinitos en PHP?
- 29. ¿Qué son los "patrones n + k" y por qué están prohibidos en Haskell 2010?
- 30. ¿Cuándo son útiles las transformaciones de Schwartz?