3.22.2011

ASP.NET MVC: El MVC no es una forma de Arquitectura

En estos días se ha puesto muy de moda el uso del MVC con ASP.NET y muchos lectores del blog me han solicitado que empiece una serie de posts similares a los del Entity Framework { los cuales no he terminado}.  Es por esta razón que decidí iniciar una secuencia de artículos relacionados con el MVC en ASP.NET y además me decidí a iniciar relacionando la arquitectura de software y el MVC.

Cuando uno observa los desarrolladores de diferentes empresas trabajando con el MVC, se da cuenta que es muy común que se mezcle de forma errónea el término patrón con el término arquitectura. Esto principalmente porque el desarrollar tiende a pensar que porque esta haciendo una separación de componentes esta trabajando con una arquitectura n-layer lo cual no es correcto. Para entender un poco más este tema vamos a ver una típica arquitectura n-Layer de un post anterior dentro de este mismo sitio.

En este caso las capas están bien definidas y si uso es específico a la funcionalidad que cada una puede brindar. Si tuviéramos que colocar el MVC dentro de esta arquitectura tendríamos que modificar la capa de presentación para que luciera como se ve a continuación.

image

Como vemos en la imagen anterior, el patrón MVC es un patrón para ser utilizado en la capa de presentación, por lo tanto; en una arquitectura n-layer, la capa de presentación es la única beneficiada con el uso de este patrón.

Resumiendo, tener un patrón de software mejora la forma en que se comporta tu arquitectura de software, pero un patrón nunca debe reemplazar una arquitectura ya que por lo general un patrón se utiliza en una capa específica; por ejemplo, el singleton se puede utilizar o en la capa de acceso a datos, o en la lógica de negocios o incluso en el UI, pero el hecho de utilizar el patrón singleton no implica que no debas tener una arquitectura n-layer para tu aplicación.

Etiquetas de Technorati: ,

1 comentario:

Anónimo dijo...

Excelente!