Materia: Programacin de aplicaciones. Maestra: Sandra Bay Diaz. Investigacin: Resumen
Que es un patrn de diseo?
En 1979 el arquitecto Christopher Alexander aport al mundo de la arquitectura el libro The Timeless Way of Building; en l propona el aprendizaje y uso de una serie de patrones para la construccin de edificios de una mayor calidad, en la que esa mayor calidad se refera a la arquitectura antigua y la menor calidad corresponda a la arquitectura moderna, que el romper con la arquitectura antigua haba perdido esa conexin con lo que las personas consideraban que era calidad. Los patrones de diseo son la base para la bsqueda de soluciones a problemas comunes en el desarrollo de software y otros mbitos referentes al diseo de interaccin o interfaces. Un patrn de diseo resulta ser una solucin a un problema de diseo. Para que una solucin sea considerada un patrn debe poseer ciertas caractersticas. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseo en distintas circunstancias.
Patrones de diseo en el MVC de smalltalk
El modelovistacontrolador (MVC) es un patrn de arquitectura de software que separa los datos y la lgica de negocio de una aplicacin de la interfaz de usuario y el mdulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construccin de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representacin de la informacin, y por otro lado para la interaccin del usuario. Este patrn de arquitectura de software se basa en las ideas de reutilizacin de cdigo y la separacin de conceptos, caractersticas que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento. El patrn MVC fue una de las primeras ideas en el campo de las interfaces grficas de usuario y uno de los primeros trabajos en describir e implementar aplicaciones software en trminos de sus diferentes funciones. MVC fue introducido por Trygve Reenskaug (web personal) en Smalltalk-76 durante su visita a Xerox Parc6 7 en los aos 70 y,
seguidamente, en los aos 80, Jim Althoff y otros implementaron una
versin de MVC para la biblioteca de clases de Smalltalk-80. Solo ms tarde, en 1988, MVC se expres como un concepto general en un artculo sobre Smalltalk-80.
El catalogo de patrones de diseo
Un catlogo es un grupo de patrones clasificados por uno o ms criterios y relacionados entre s, los cuales pueden ser utilizados de forma conjunta o independiente. Estos criterios permiten organizar los patrones en grupos que comparten el mismo conjunto de propiedades, y dependiendo de los criterios elegidos se pueden definir esquemas de clasificacin con diferentes dimensiones. Los esquemas de clasificacin ponen de manifiesto las principales cualidades de los patrones y ayudan a reducir el tamao del espacio de bsqueda.
Como Resuelven los patrones de diseo los
problemas de diseo Si queremos desarrollar aplicaciones robustas y fciles de mantener, debemos cumplir ciertas "reglas". Estas reglas de diseo son recomendables, no son obligatorias. Siempre podemos decidir no aplicarlas. Aunque si no lo hacemos, hay que ser conscientes de la razn de no aplicarlas y de sus consecuencias. Los patrones de diseo nos ayudan a cumplir muchos de estos principios o reglas de diseo. Programacin SOLID, control de cohesin y acoplamiento o reutilizacin de cdigo son algunos de los beneficios que podemos conseguir al utilizar patrones.
Como seleccionar un patrn de diseo
Patrones de diseo hay muchos. Y siguen apareciendo patrones nuevos cada poco tiempo. El desarrollo de aplicaciones es una disciplina en constante cambio. Por tanto los problemas a los que nos enfrentamos los desarrolladores tambin cambian. As que las herramientas utilizadas, tambin se van actualizando y mejorando.
Es imposible conocer todos los patrones de diseo. Lo ms til es
tener un catalogo de patrones que podamos consultar. A la hora de desarrollar una aplicacin, podremos consultar nuestro catlogo buscando patrones que nos ayuden a solucionar problemas de diseo concretos. Algunos ejemplos de catlogos podemos encontrarlos en OODesign, en la Wikipedia, o el ya famoso libro Design Patterns: Elements of Reusable Object-Oriented Software, cuyos autores son conocidos como La banda de los cuatro.
Como usar un patrn de diseo
Los patrones de diseo son una herramienta muy til. Cualquier programador debera conocer, por lo menos, los patrones ms utilizados. Y es que tenerlos en nuestra caja de herramientas nos puede ahorrar muchos dolores de cabeza. Hay que tener en cuenta que estamos haciendo referencia a patrones aplicados a la programacin orientada a objetos. Los patrones de diseo son soluciones para problemas tpicos y recurrentes que nos podemos encontrar a la hora de desarrollar una aplicacin. Aunque nuestra aplicacin sea nica, tendr partes comunes con otras aplicaciones: acceso a datos, creacin de objetos, operaciones entre sistemas etc. En lugar de reinventar la rueda, podemos solucionar problemas utilizando algn patrn, ya que son soluciones probadas y documentadas por multitud de programadores.