martes, 6 de octubre de 2015

No olvidar jamás que MVC es un patrón de diseño

Buen@s (días|tardes|noches) a todos.
La idea del día de hoy es debatir un poco acerca de esto que hace mucho tiempo viene siendo una constante o un abuso de un patrón de diseño llamado MVC (Model-View-Controller) y de ahí todos sus derivados como MVVMMVMVMVMVM.....etc.  También destacar que el caso que escribo hoy aplica a un universo ASP.NET MVC pero que perfectamente puede aplicar a otro lenguaje.
A modo de resumir un poco el universo de ingenieros/desarrollares se me vienen dos tipos de personas a la cabeza:

  1. El sujeto que implementa o por lo menos alguna vez en su vida ha implementado el patrón MVC con un lenguaje de programación (cualquiera)
  2. El sujeto que utiliza un framework de desarrollo de software basado en MVC
A simple vista que conclusiones podríamos sacar de estos dos sujetos, veamos:
  1. El sujeto 1 tiene claro que está implementando un patrón de diseño ( se entiende que conoce lo que hace )
  2. El sujeto 2 tiene claro que está utilizando un framework que implementa un patrón de diseño por lo tanto su framework ofrece ciertas convenciones que soportan ese patrón.
  3. El sujeto 2 sabe que utiliza un framework de desarrollo que agiliza su manera de desarrollar y entiende que está dividido en modelo-vista-controlador y que su framework utiliza ciertas convenciones como por ejempo actions, routings, areas, bundles, etc, etc.. Sabe que es un patrón pero al parecer lo ha olvidado completamente...
Y es justo en este último caso que quiero detenerme ya que muchas veces me ha sucedido que en una charla del patrón Model-View-Controller la contraparte de la conversación está tan frameworkizada que al parecer ha olvidado que los elementos o convenciones que su framework utiliza para soportar una solución MVC no son parte del patrón como actions, routings, areas, bundles, etc  en sí. 

Para efectos de algún desarrollo en particular  esta descargo reflexión tal vez no tiene ninguna importancia. Lo que sí importa es que como Ingenieros nunca olviden cual es la raíz de lo que están implementando.

Saludos :-)

No hay comentarios:

Publicar un comentario