Sie sind auf Seite 1von 4

PATRON DE ARQUITECTURA DE DISEO

DESCRIPCION
Antes de cualquier cosa debemos entender que es que significa la palabra PATRON, sin
meternos en rollos etimolgicos, podemos decir que un patrn puede significar dos cosas: Una
forma establecida de hacer las cosas o resolver un problema y dos: un modelo a seguir. Ambas
definiciones tienen sin duda mayores acepciones, pero para el tema que nos ocupa, podemos
tomar ambas de la forma que sigue:
PATRON: Es un modelo establecido que muestra cmo resolver un problema, que tiene marcadas
ya, sus restricciones, sus aplicaciones y sus resultados. O esta otra definicin Es un esquema
que se usa para solucionar un problema (http://astreo.ii.uam.es/~jlara/TACCII/8_Patrones.pdf) o bien esta otra:
Patrn de diseo: Base para la bsqueda de soluciones a problemas comunes en el desarrollo
de Software.( http://www.slideshare.net/ikercanarias/patrones-de-diseo-de-software-14836338 ).
Una definicin mucho mas grande y quiz mas comprensible es la que ofrece Wikipedia cuando
dice:
Los patrones arquitectnicos, o patrones de arquitectura, son patrones de diseo de
software que ofrecen soluciones a problemas de arquitectura de software en ingeniera de
software. Dan una descripcin de los elementos y el tipo de relacin que tienen junto con un
conjunto de restricciones sobre cmo pueden ser usados. Un patrn arquitectnico expresa un
esquema de organizacin estructural esencial para un sistema de software, que consta de
subsistemas, sus responsabilidades e interrelaciones. En comparacin con los patrones de
diseo, los patrones arquitectnicos tienen un nivel de abstraccin mayor.
Sin duda, las definiciones anteriores nos hablan de una constante: un Patrn es una BASE, algo
que ya est hecho, algo que podemos usar para solucionar nuevos problemas, y esto lo vemos
no solo en el mbito de la programacin, sino tambin en el mbito de la construccin, que es de
donde bsicamente se toma el ejemplo.
En la Arquitectura de la construccin, podemos apreciar elementos en edificios que todos usan,
como los edificios antiguos, en la Ciudad de Mxico, la arquitectura Porfiriana denotaba con
especial inters la copia de la arquitectura espaola y europea de esos aos, lo diferenciaban los
materiales quiz, pero era una forma de hacer las cosas, es decir, la necesidad era construir
palacios, los espaoles trajeron las tcnicas (inherentes a la arquitectura) que a su vez, tomaron
de los rabes, como los arcos, pero me estoy desviando del tema.
Los patrones en el SW son aquellas tcnicas que ya estn probadas y que se acomodan a
muchos de los problemas que se quieren resolver con el SW, esas tcnicas y diseos estn
tomadas de la experiencia de los programadores que han tomado la decisin de hacer las cosas
de una forma diferente pero que dejan su legado para que los nuevos puedan hacer aportaciones
a los diseos.
Un patrn de diseo no es una moda, como pudiera pensarse, ni siquiera es un paradigma de
programacin, es una FORMA DE HACER LAS COSAS, por lo tanto, esas formas permanecen en
su forma original hasta que llegamos cambiarlo, para aplicarlo a un caso especfico y lo que es
un hecho, es que son soluciones, como dijimos antes, probadas, no necesitamos inventar el hilo
negro.

CUANTOS PATRONES HAY?


Definir una lista de patrones pudiera ser harto difcil si tomamos en cuenta que no existe un
estndar que obligue a los diferentes diseos de patrones a apegarse a ciertas reglas, sin

embargo si podemos dividirlos en reas o en sub-reas como si se tratase de Estilos en la


Arquitectura convencional, (estilos como el Barroco, el Moderno, el Urbano, etc.)de esta divisin
podemos sealar entre algunos: Progresivamente Estructurales, Sistemas Distribuidos, Sistemas
Interactivos, Sistemas Adaptables y uno de los ms recientes el MVC (Model View Controler)
(Estilos_Patrones.pdf/pag.49)

Una de las acepciones ms interesantes en el caso de los Patrones de Diseo, es la ofrecida por
la Gang of Four, quienes ofrecen diseo basados en categoras, como dice su definicin: Los
patrones GoF (Gang of Four, en espaol Pandilla de los Cuatro, formada por Erich Gamma, Richard Helm, Ralph Johnson y
John Vlissides) se clasifican en 3 categoras basadas en su propsito: creacionales, estructurales y de comportamiento.

Como era de esperarse existe ms de un patrn, como en la misma Arquitectura hay ms de un


estilo, a continuacin vemos una lista de aquellos patrones que son ms representativos.
PATRON
TIPO CREACIONALES
TIPO ESTRUCTURALES
TIPO
COMPORTAMIENTO
MVC (Model View
Controler)

DEFINICION
Creacionales: Los patrones creacionales abstraen el proceso de
creacin de instancias y ocultan los detalles de cmo los objetos son
creados o inicializados.
Estructurales: Los patrones estructurales se ocupan de cmo las
clases y objetos se combinan para formar grandes estructuras y
proporcionar nuevas funcionalidades.
Comportamiento: Los patrones de comportamiento estn
relacionadas con los algoritmos y la asignacin de responsabilidades
entre los objetos. Son utilizados para organizar, manejar y combinar
comportamientos.
El Model View Controler trabaja en base a algo conocido como
component compuesto por programas que juntos conforman una unidad
funcional de negocio. Una componente puede poseer la cantidad de vistas que
se desee, pero tiene un slo controlador global que dirige y encapsula la
funcionalidad del negocio. Por lo tanto, la codificacin de la funcionalidad del
negocio se encuentra acotada al controlador global.
Provee una tcnica que permite crear una aplicacin independientemente del
lenguaje de programacin que se utilice.
Model: Encapsula la funcionalidad del negocio real, sirve como fuente de
datos para cualquier clase de visualizacion. El modelo provee un unico punto
para actualizar o recuperar informacion.
VIEW Visualiza los datos de la aplicacin usando una representacion grafica.
Existe la libertad de mostrar los datos como se desee, si los datos del modelo
cambian, las vistas (al ser dependientes del modelo) deben cambiar.
CONTROLER Se encarga del manejo de flujo de datos de la navegacion

JSP (Java Server Pages)

PATRON SINGLETON

Este patrn de diseo se aplica en la programacin WEB, tiene como


unidad de desarrollo a la pgina web, y visto desde el punto tcnico, el
JSP, es un patrn que utiliza diversas pginas con diversas
aplicaciones, teniendo como se puede ver, dificultad de organizacin,
sobre todo cuando cada pgina se comporta de forma independiente.
Una de las principales desventajas del JSP, es que para buscar un
problema en las aplicaciones tendr que ser buscada pgina a pgina
hasta encontrarla y repararla.
Asegura que una clase tiene una nica instancia y proporciona un
punto de acceso global a dicha instancia. Este modelo se aplica

cuando hay que aplicar una sola instancia, por ejemplo en un gestor de
ventanas, una cola de impresin o un sistema de ficheros.
Define una operacin de clase llamada instance que d a los clientes
acceder a la nica instancia
PATRON ABSTRACT
FACTORY

Proporciona una interface para crear familias de objetos relacionados o


que dependen entre si, sin especificar sus clases concretas.
Se puede utilizar este patrn cuando un sistema deba ser in un sistema que
deba ser independiente de cmo se crean, componen y representan sus
productos, un sistema que deba ser configurado con una familia de productos
entre varias, o cuando se quiere proporcionar una biblioteca de clases de
productos y solo se quiere revelar sus interfaces no su implementacin.

PATRON FACTORY
METHOD

PATRON COMPOSITE
PATRON FACADE

PATRON PROXY

PATRON ADAPTER
PATRON ITERATOR

PATRON OBSERVER

PATRON TEMPLATE
METHOD

Define una interfaz para crear un objeto pero deja que sean las
subclases quienes decidan que clase instanciar, permite que una clase
delegue en sus subclases la creacin de objetos.
Se puede aplicar cuando una clase no puede prever la clase de los
objetos que tiene que crear, cuando se quiere que sean sus subclases
las que decidan que objetos crean, cuando delegan la responsabilidad
en una de entre varias clases auxiliares y queremos localizar que
subclase que subclase concreta es en la que se delega.
Componer objetos en estructuras arbreas para representar jerarquas
parte-conjunto, se puede utilizar cuando se quieren representar
jerarquas todo/parte de objetos.
Proporciona una interface unificada para un conjunto de interfaces de
un subsistema. Define una interfaz de alto nivel que hace que el
subsistema sea ms fcil de usar. Se puede utilizar este patrn, cuanto
queramos proporcionar una interfaz simple a un subsistema complejo,
solo los clientes que necesitan ms personalizacin necesitaran ir mas
all de la fachada.
Proporcionar un representante o substituto de otro objeto para
controlar el acceso a este. Tambin es conocido como Surrogate, se
puede aplicar cuando hay necesidad de una referencia a un objeto ms
flexible o sofisticado que un puntero.
Convierte la interfaz de una clase en otro que espera el cliente, este
patrn permite trabajar juntas a clase que de otra forma no podran
por tener interfaces incompatibles.
Proporciona un medio de acceder a los elementos de un contenedor
secuencialmente sin exponer su representacin interna, tambin
conocido como cursor. Se puede utilizar para acceder al contenido de
un contenedor sin exponer su representacin interna.
Define una dependencia de uno a muchos entre objetos, de forma que
cuando un objeto cambie de estado se notifique y actualicen
automticamente todos los objetos que dependen de l. Se puede
utilizar cuando una abstraccin tiene dos aspectos y uno depende del
otro.
Definir el esqueleto de un algoritmo, delegando en las subclases
algunos de sus pasos, permite que las subclases cambien pasos de un
algoritmo sin cambiar su estructura.

CONCLUSIONES
Mientras cada uno de los diferentes tipos de patrones se enfocan a diferentes implementaciones
y problemas en especfico, podemos decir que la definicin concreta del PATRON DE DISEO es

una forma abstracta para definir el concepto general que no es otra cosa sino que Un patrn es
una serie de pasos para resolver un problema, basado en un estilo de acuerdo al objetivo de la
solucin.
Siendo entonces un elemento abstracto, podemos instanciar dicho patrn para poder utilizarlo
en otras situaciones modificando sus elementos y con ello, podremos adaptarlo para resolver la
situacin.
Ftes:
http://www.ecured.cu/index.php/Patrones_de_dise%C3%B1o_y_arquitectura
http://carlosreynoso.com.ar/archivos/arquitectura/Estilos.PDF
http://www.lsi.us.es/docencia/get.php?id=5438

Das könnte Ihnen auch gefallen