¿Eres nuevo desarrollando? ¿Llevas un par de años? ¿Llevas mas de 10 años en esto? Seguramente has oído hablar de los patrones de diseño, ve y busca en Bing, según Wikipedia se debe tratar de “Una solución a un problema de diseño que debe contar con ciertas características”. Pero esta es la teoría, el punto es que en el Día 1 te hablé de planificar las cosas, ahora debo mencionar que hacer una aplicación bien ordenada y estructurada para mí requiere mucha mas práctica de la que nos gustaría admitir.
Ya tenemos un punto, necesitamos experiencia para ser cada vez mejores al momento de crear la arquitectura necesaria y adecuada, pero nadie comenzamos teniendo experiencia en este aspecto, eso nos lleva al segundo punto, todos sabemos como hacer un “Hola Mundo”, pero no todos sabemos como utilizar ciertos patrones de diseño adecuados.
El primer modelo del que oí hablar fue MVC, y después de un buen tiempo me enteré de que para la plataforma Silverlight, existe un modelo llamado MVVM.
¿Qué significa MVVM?
Las letras son el acrónimo de Modelo Vista Vista-Modelo por sus siglas en inglés, quiere decir en pocas palabras que deberemos estructurar nuestro código de tal manera que nuestra funcionalidad pueda permanecer separada de nuestra interfaz, para entenderlo mejor, mira esta imagen.
¿Es necesario utilizar MVVM en mis aplicaciones?
Esta es quizá la mejor de las preguntas, si eres nuevo desarrollando, mi mejor recomendación es no hacerlo, hay cosas mucho mas importantes que aprender en un inicio, como aprender enlazado de datos, la mejor forma de escribir todas las líneas de código (esto lo veremos día a día mas adelante) y los dos puntos mas importantes, conocer y entender lo que estás haciendo así como pulir tu lógica.
Si llevas ya un buen tiempo con aplicaciones Silverlight y ahora quieres darles mas orden, puedes comenzar “practicando” la refactorización de métodos así como a usar clases para tu lógica, ese es un buen calentamiento antes de comenzar con los modelos, después de eso, el utilizar modelos en tus aplicaciones es un paso inminente, lo debes dar para crear con orden y escalabilidad todas tus aplicaciones.
¿Debo utilizar MVVM para todas mis aplicaciones?
La respuesta será dependiendo de que tipo de aplicación harás, en mi caso lo utilizo cuando se trata de aplicaciones que conciernen a mi trabajo o con fines ilustrativos, cuando estoy estudiando en alguna nueva funcionalidad o cuando estoy haciendo alguna prueba no lo hago, tampoco lo hago para ningún proyecto que publico en mi sitio para que sea entendible a todo el público, no se si es un principiante, un intermedio o un avanzado quien lee mi artículo, así que mejor lo hago para todos.
Lo que también es muy cierto es que cada vez que lo uso se incrementa mi tendencia a seguir usándolo, he notado mucho mas orden en aplicaciones que siguen este patrón que las ordinarias, así que creo que es adictivo usarlo.
Conclusión
El uso de patrones de diseño habla muy bien de nuestra evolución como desarrolladores de software, así como de nuestra experiencia y aprendizaje para tener una aplicación mucho mas estructurada, organizada y escalable, pero no debe ser nuestra prioridad numero 1 el utilizar MVVM si estamos comenzando a desarrollar, te repito que lo mejor es comenzar a entender conceptos y tener una buena lógica, al menos para mí eso tiene mucha mayor relevancia que utilizar un modelo, así que recuerda, solo ve por pasos.