La idea de la charla es comentar con ejemplos prácticos sobre metodologías de ingeniería de software aplicadas a javascript. La razón principal por la que quiero hacer una charla así es porque aunque es muy emocionante e interesante aprender sobre frameworks nuevos, muchas veces no los podemos implementar al día siguiente en nuestro proyecto (por ejemplo, ya se comenzó con un framework parecido, o el esfuerzo en integrar esta nueva tecnología requeriría tiempo no disponible).
La idea al hablar de SOLID en javascript es que estas metodologías de programación se puedan aplicar al día siguiente. Aunque la charla va a ser con ejemplos específicos de javascript, la idea principal es mostrar el concepto, que sería muy fácil de adaptar e interpretar en otros lenguajes de programación.
http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
SOLID es un conjunto de principios de diseño de software orientado a objetos que han sido identificados como una buena guía para hacer código mantenible y adaptivo. SOLID es un acrónimo de:
Single responsibility principle
- an object should have only a single responsibility.
Open/closed principle
- software entities … should be open for extension, but closed for modification.
Liskov substitution principle
- objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program
Interface segregation principle
- many client specific interfaces are better than one general purpose interface.
Dependency inversion principle
- Depend upon Abstractions. Do not depend upon concretions.
En la charla nos centraríamos en estos temas y cómo implementarlos en javascript.
Normalmente construir las primeras partes de un proyecto de software es muy sencillo. La parte complicada viene cuando ya tenemos un proyecto grande y hay que agregar o cambiar cosas. SOLID es una agrupación de metodologías que esperan y preparan el camino para hacer el cambio y el mantenimiento mucho más sencillo.