orígenes de los patrones

Upload: inspectorinfocentros

Post on 07-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Orgenes de los patrones

    1/3

    Orgenes de los patrones

    Los patrones de diseo de software Orientados a Objetos tienen su origen en el campo de laArquitectura gracias a los trabajos de investigacin y publicaciones del arquitectoChristopherAlexandera finales de los aos 70.

    A travs de los siglos se han seguido diferentes tcnicas para soportar las bvedas en la parte ms alta

    de las Catedrales:

    y las bvedas de caon de las Catedrales Romnicas ejercen una fuerza no slo vertical sinotransversal que tiene que ser contrarestada con otras naves laterales o por la presencia en elexterior de gruesos y potentes muros de piedra maciza

    y mientras que las bvedas de crucera de las Catedrales Gticas liberan de casi todo el peso alos muros perimetrales localizando el peso de la bveda en dos arcos cruceros diagonales

    Christopher Alexander detect que para un mismo problema, en este caso encumbrar una bveda enuna Catedral, se le han dado diferentes soluciones dependiendo del patrn arquitectnico utilizado

    y as de esta forma el patrn trata de extraer la esencia de ese diseo, para que pueda serreutilizada por otros arquitectos cuando se enfrentan a problemas parecidos que dicho diseo yaha resuelto con anterioridad

    Christopher Alexander intent resolver problemas arquitectnicos utilizando los patrones. Para ello tratde extraer la parte comn de los buenos diseos, con el objetivo de reutilizarlos en otros diseos. Yrealiz la siguiente definicin:

    y cada patrn describe un problema que ocurre una y otra vez en nuestro entorno, para describirdespus el ncleo de la solucin a ese problema, de tal manera que esa solucin pueda serusada ms de un milln de veces sin hacerlo ni siquiera dos veces de la misma forma

    El hecho de que en diferentes zonas del mundo se construya de forma diferente nos demuestra que laesencia del diseo en cada una de estas zonas se ha copiado de una construccin a otra. Podemos decirque existen una serie de patrones que se han aplicado a diferentes zonas para dar una solucin efectiva alos problemas de construccin de dichas zonas.

    Evolucin de los patrones de diseo

    Los patrones de diseo son pues una disciplina deproblema-solucin que est en constate evolucinentre los diseadores y desarrolladores que trabajamos con lenguajes Orientados a Objetos.

    En 1987, Ward Cunningham y Kent Beck disearon interfaces de usuario con el lenguaje deprogramacionSmaltalk y se basaron en los trabajos de Christopher Alexander. Entonces publicaron unlibro titulado Using Pattern Languages for Object-Oriented Programs.

    y y de aqu sali el patrn de diseo MVC (Modelo-Vista-Controlador) inspirador de losFrameworks Struts yJSF (Java Server Faces)

    Pero no fue hasta el ao 1994 cuando Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides,ms conocidos como the Gang of Four(la Banda de los Cuatro, GoF), publicaron el bestsellerDiseo de

    patrones:E

    lementos de reutilizacin de Software Orientado a Objetos que los patrones de diseo seconvierten en imprescindibles para todos los diseadores y desrrolladores de software Orientado aObjetos.

    y ellos fueron los creadores de lospatrones Singleton, Fachada, Adapter, Proxy, Composite, Abstract Factrory, Factorymethid y Observer / Publicar-Suscribirentre otros.

    En el ao 1997 Craig Larman edit la primera edicin del libroUML y Patrones. Una introduccin alanlisis y diseo orientado a objetos que se convirti en una lectura inexcusable para toda personaque se quisiera introducir en el mundo del A/DOO (Anlisis y diseo orientado a objetos). En el ao 2001

  • 8/6/2019 Orgenes de los patrones

    2/3

    Craig Larman se super a si mismo con la segunda edicin del libro esta vez tituladoUML y Patrones.Una introduccin al anlisis y diseo orientado a objetos y al proceso unificado. En el ao 2005Craig Larman se volvi a superar a si mismo con la tercera edicin del libro esta vez titulado ApplyingUML and Patterns. An introduction to Object-Oriented Analysis and Design and IterativeDevelopment.

    y aqu se dan a conocer los patrones GRASP (General Responsibility Assignment SoftwarePatterns (patrones generales de software para asignar responsabilidades) . GRASP incluye los

    patrones Experto en informacin, Creador, Alta Cohesin, BajoAcoplamiento y Controlador.

    Tambin en el ao 2001 Deepak Alur, John Crupi y Dan Malks publicaron el libroCore J2EE Patterns.Best Practices and Design Strategies que se ha convertido en un estndar de referencia para cualquier

    Arquitecto de aplicaciones Java Enterprise Edition.

    y entre los patrones J2EE destacan Intercepting Filter, Front Controller,ViewHelper, Composite View,Service Locatory Data Access Object.

    Definiciones de patrones de diseo

    Las metodologas orientadas a objetos tienen como su mxima el hecho de no reinventar la rueda en

    cada nuevo proyecto. Por tanto los patrones se convierten en esenciales para la reutilizacin del software.

    El objetivo principal que persiguen los patrones es crear un lenguaje comn entre los Diseadores yDesarrolladores para comunicar experiencias sobre los problemas y sus soluciones.

    Estas son diferentes definiciones dadas por diferentes autores en los ltimos aos

    y Un patrn eso la abstraccin de una forma concreta que puede repetirse en contextos especficos

    o una informacin que captura la estructura esencial y la perspicacia de una familia desoluciones probadas con xito para un problema repetitivo que surge en un ciertocontexto y sistema

    o una unidad de informacin nombrada, instructiva e intuitiva que captura la esencia deuna familia exitosa de soluciones probadas a un problema recurrente dentro de uncierto contexto

    Descubrimiento de los patrones de diseo por parte de los

    expertos

    y Los expertoso identifican partes de su problema como problemas que han tenido en el pasadoo recuerdan la solucin que aplicaron a algn problema pasado y la generalizano finalmente adaptan la solucin general al contexto de su problema actual

    y Para poder dominar cualquier tcnica se siguen los siguientes procesoso los expertos aprenden por un proceso de ensayo y error y por transmisin de

    conocimientos a otros expertoso se crea una ciencia alrededor de la tareao se desarrollan las tcnicaso se logra un conocimiento comn sobre cmo aplicar las tcnicas

    esto conlleva a un metalenguaje comn entre los expertos

  • 8/6/2019 Orgenes de los patrones

    3/3