You are on page 1of 5

Evidencia de aprendizaje Lenguaje descriptor y patrones de

arquitectura de software
Unidad 1
Cuatrimestre 5
Patrones de arquitectura de software
Los patrones arquitectnicos podemos definirlos como La descripcin de un problema
particular y recurrente de diseo, que aparece en contextos de diseo especifico, y
presenta un esquema genrico de diseo, que aparece en contextos de diseo
especifico, y presenta un esquema genrico demostrado con xito para su solucin. El
esquema de solucin se especifica mediante la descripcin de los componentes que la
constituyen sus responsabilidades y desarrollos, as como tambin la forma como
estos colaboran entre si.
Los patrones que dan soporte a propiedades similares pueden ser agrupados en las
siguientes categoras:

1. Del fango a la estructura o patrones simples. Ayudan a evitar un mar de


componentes u objetos. En particular apoyan una descomposicin controlada
de una tarea del sistema ghlobal en sub- tareas cooperantes.
2. Sistemas Distribuidos: Provee una infraestructura completa para aplicaciones
distribuidas.
3. Sistemas interactivos: Apoyan la estructuracin de sistemas de software que
ofrecen la interaccion usuario- computadora.
4. Sistemas Adaptables: Apoyan fuertemente la extensin de aplicaciones y su
adaptacin a desenvolverse con la tecnologa y cambios en los requisitos
funcionales.
A su vez, estos patrones los podemos categorizar de la siguiente manera:
Categoras de tipos de patrones arquitectnicos
Capas
Tuberas-Filtro
Patrones Simples

Sistemas Distribuidos
Sistemas Interactivos
Patrones Adaptables

Pizarra
Repositorio
Broker
CAGS
Cliente-Servidor
Modelo Vista Controlador
Presentacin Abstraccin Control
Microkernel
Reflexion

El nivel de abstraccin de estos patrones, es en un nivel alto, por lo que nos dan una
idea mas clara, de cmo estar conformada nuestra arquitectura, es decir, nos dan
una base donde apoyarnos.
As mismo, tenemos que tener claro, que la solucin optima y final, no necesariamente
implica utilizar solo un determinado patrn; podemos recurrir , en casi de ser necesario
al uso y combinacin de distintos patrones dependiendo de cmo se vaya
estructurando cada uno de los componentes del sistema
Por lo antes expuesto, es necesario tambin mencionar, que existen patrones con un
nivel de abstraccin mas bajo, es decir, mas detallados, que nos ayudan tener mayor
control sobre los componentes que vayamos a implementar en el sistema. Dichos
patrones son conocidos como: Patrones de diseo y patrones elementales.
Patrones de diseo:
Buschman nos dice al respecto que los patrones de diseo nos Proveen de un
esquema para refinar los subsistemas o componentes de un sistema de software, o las
relaciones entre ellos. Describe la estructura comnmente recurrente de los
componentes en comunicacin, que resuelve un problema general de diseo en un
contexto particular.
Clasificacin
Dentro de los patrones de diseo existen variaciones segn su nivel de granularidad y
abstraccin, lo que permite clasificarlo bajo dos criterios: Propsito, refleja que hace un
patrn teniendo en cuenta si es de creacin, estructural o de comportamiento; y
Ambito, especifica si un patrn se aplica primariamente a una clase o a un objeto.
De creacin: Abstrae el proceso de instalacin de objetos, su misin es permitir
construir sistemas independientes de la forma de creacin, composicin o
representacin de objetos. Un patrn de creacin de clases utiliza la herencia para
variar la clase que es instanciada. Un patrn de creacin de objetos delega la
instalacin en otro objeto.
Estructural: Controla como se componen las clases u objetos en la construccin de
estructuras mayores. Un patrn estructural de clases utiliza la herencia para componer
interfaces o implementaciones. Un patrn estructural de objetos describe la forma en
que se componen objetos para obtener nueva funcionalidad, adems se aade la
flexibilidad de cambiar la composicin en tiempo de ejecucin, lo cual no es posible
con la composicin de clases estticas.
De Comportamiento: Se relaciona con algoritmos, la forma en la que interactan las
clases u objetos y la asignacin de responsabilidades entre ellos. Los patrones de
comportamiento de clases utilizan la herencia para distribuir el comportamiento entre
las clases. As mismo, los patrones de comportamiento de objetos cooperan como un
grupo de objetos interconectados para realizar una tarea que un solo objeto no puede
realizar por si solo.

Categoras de tipos de patrones Arquitectnicos

Comportamiento

Estructura

Creacin

Chain
Command
Interpreter
Iterator
Meadiator
Memento
Observer
State
Strategy
Metodo plantilla
Visitante
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Modulo
Abstract Factory
Factory Method
Builder
Prototype
Sigleton

Patrones elementales

Son estndares de codificacin y proyecto especifico de un lenguaje de programacin,


describen como implementar componentes particulares de un patrn. Nos ayudan a
resolver operaciones comunes en un nuevo ambiente o a travs de un grupo.
Los patrones elementales son:

Modularidad
Interfaces mnimas
Encapsulacin
Objetos
Acciones y Eventos

Ejemplo de uso de combinacin de lenguaje y patrones


Patrones de diseo en el desarrollo de software
En el desarrollo de software el patrn de diseo describe las clases y objetos
que se comunican entre si de manera que puedan resolver un problema
general de diseo en un contexto particular. En un contexto informtico un
patrn de diseo es similar a conceptos como biblioteca de clases, frameworks,
tcnicas y herramientas de refactorizacin o programacin extrema. La
clasificacin de los patrones de diseo en este contexto atiende a dos
Caractersticas como son: atendiendo a su propsito o Creacionales:
Resuelven problemas relativos a la creacin de objetos.
Estructurales: Resuelven problemas relativos a la composicin de objetos
De Comportamiento: Resuelven problemas relativos a la interaccin entre
objetos. Atendiendo a su mbito
Clases: Relaciones estticas entre clases.
Objetos: Relaciones dinmicas entre objetos
Un ejemplo de lo que podra constituir un patrn de diseo aplicado a un
contexto informtico podra ser el siguiente.
Nombre: Retroalimentacin visual de navegacin directa.
Problema: El usuario tiene dificultades para acceder directamente a las
ventanas del sistema informtico y desconoce cual de entre ellas en la ventana
actual de trabajo.
Principio de usabilidad: Guiar al usuario y dar el control de la interaccin al
usuario
Contexto: Dada una gran cantidades de informacin facilitar al usuario los
medios para navegar directamente entre las ventanas del sistema informtico.
Fuerza: El sistema debe siempre mostrar la lista de ventanas navegables
Solucin: Permitir al usuario a seleccionar directamente la ventana de la
interfaz y mostrar continuamente la ventana activa y desactiva
Consecuencia: El acceso directo a las ventanas del sistema no solo beneficia
la manipulacin directa de ellas sino tambin la manipulacin de los objetos
que retienen ya que cada ventana es definida en trminos de sus objetos de
interaccin (e.g. iconos, tems de men, radio botones) los cuales permiten la
adquisicin y la restitucin de informacin que requiere el usuario.

Patrones de diseo en la pedagoga


En un plano puramente pedaggico, se define patrn de diseo como la
presentacin de un problema y una solucin, teniendo en cuenta una serie de
consideraciones que acercan a la solucin del problema, contempla una serie
de consideraciones y finalmente aporta la solucin de este.
Ejemplo
Nombre: Motivacin del alumno
Contexto: Un entorno virtual de enseanza- aprendizaje como son las
plataformas de e-learning
Consideracin de patrones anteriores: Conexin a una plataforma e-learning
programacin de actividades
Problema: Como compartir la informacin entre estudiantes y docente. Esta
informacin pueden ser textos, imgenes, sonido, etc.
Solucin: Utilizacin del correo electrnico
A considerar ahora: La colaboracin en ambientes virtuales, entrega de
trabajos.

You might also like