Ver Mensaje Individual
  #11 (permalink)  
Antiguo 22/05/2008, 02:49
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Patron de diseño MVC

Aviso: No tomarse la comparación al pié de la letra. Programar no se parece nada a hacer casas.


Todas las cosas se pueden ver a más o menos distancia. Un edificio, por ejemplo, puedes acercarte mucho y fijarte en detalles como ¿Qué mezcla de cemento debo usar? o ¿Pongo aquí un tubo de 2 pulgadas o de 3? Puedes alejarte un poquito y pensar en detalles como vamos a hacer cocinas americanas en todos los apartamentos o evitemos usar pasillos. Si te alejas aún más puedes pensar cosas como poner la caja de ascensores en el centro del edificio, hacer el edificio con un jardín interior o hacer 8 metros de cimientos.

Todo eso tiene que ver con hacer un edificio. Cuanto más cerca del detalle estás, más concretas son las soluciones. Cuanto más lejos, más abstractas. A cada nivel de detalle le puedes dar diferentes nombres. Aunque todo es arquitectura, el concepto de tener cocina americana o cocina independiente se puede considerar "diseño de interiores", por ejemplo. Pero el conjunto de decisiones que tomas en el diseño de interiores o incluso en la albañilería o en la instalación eléctrica están determinados por las decisiones de alto nivel y también forman parte de la arquitectura.


En el desarrollo de software es parecido. En un nivel muy cercano, tomamos decisiones muy concretas que se reflejan de forma muy directa sobre una línea de código u otra. En un siguiente nivel podríamos encontrar los patrones, que se ven como "soluciones de arquitectura local" es como usar pasillos o no. ¿Esta clase debe ser un Singleton o no? ¿Se podría solucionar este aspecto del programa utilizando un Decorator?
La arquitectura (hablando de desarrollo de software) estaría un nivel más arriba aún. Son decisiones como "usemos n-capas", "montemos una aplicación web de frontend y comuniquemos a través de XMLRPC con un backend de servicios", "utilicemos un sistema centralizado de identificación y permisos de acceso", "separemos la funcionalidad en módulos independientes"...


¿Existen "patrones" para arquitectura? - preguntas -. como ha dicho GatorV no. No existen tal como entendemos la palabra patrones en este contexto. Lo que sí existen son esquemas, recomendaciones, estructuras conocidas. Pero como decía están en un nivel de abstracción más alto.