1 - Introducción

[editar]
Tutorial creado por Mononeurona. Extraido de: http://www.mononeurona.org/index.php?idp=460
27 de Octubre de 2005
En la ingeniería de software el término patrón describe una solución probada a un problema común en un contexto específico.  Los patrones pueden ser divididos en 3 distintas categorías dependiendo del nivel de abstracción e independencia del lenguaje de implementación: patrones arquitectónicos, patrones de diseño e idiomas [BMR+96].  En este trabajo nos concentramos en las últimas dos categorías: los patrones de diseño como son descritos en el libro de los conocidos como GANG OF FOUR (Banda de cuatro) [GHJV95] y los idiomas del lenguaje Python.  Los patrones no son sólo modelos microarquitectónicos, también son útiles como un vocabulario de diseño para los ingenieros de software.  La arquitectura general del sistema y las decisiones de diseño relacionadas pueden ser explicadas dando un conjunto de patrones utilizado.  Aunque nuevos patrones surgen, el GOF permanece como una referencia definitiva de patrones de diseño.  Por esta razón es importante introducir estos patrones, las nociones y la teoría detrás de ellos y su aplicabilidad a la comunidad Python.
El GOF está divido en tres partes y cada una describe los patrones relacionados con el tema de esa parte.  Los temas describen el propósito de los patrones.  Los patrones de creación se relacionan con problemas de instanciación de objetos.  Los patrones estructurales se concentran en la composición de los objetos y sus relaciones con la estructura de los objetos en tiempo de ejecución.  Mientras que los patrones estructurales describen la distribución del sistema de objetos, los patrones de comportamiento se enfocan en la dinámica interna e interacción de los objetos en el sistema.
Aunque los patrones de diseño aspiran a ser independientes del lenguaje requieren - al menos implícitamente - algo de soporte desde el lenguaje de implementación y especialmente desde su modelo de objetos.  En el GOF los lenguajes elejidos son C++ y Smalltalk.  Por ello la disponibilidad de especificadores de acceso y funciones miembro estáticas (métodos de clase) son asumidos.  El blanco es mirar algunos de los patrones del GOF y tratar de implementarlos en un lenguaje (Python) cuyo modelo de objetos sea radicalmente distinto del de C++.  Al hacer esto podemos llegar a algunas conclusiones acerca de la generalidad de los patrones del GOF y sus comodidades - si las hay - son necesarias cuando los aplicamos al ambiente de programación de Python.  Y mientras operamos en el nivel del lenguaje de programación observamos algunos idiomas de Python y cómo pueden ayudar a implementar los patrones del GOF.
Comenzamos con una breve descripción de Python como un lenguaje de objetos en la sección 2 y luego avanzamos hacia los patrones seleccionados.  Elegimos un patrón de cada categoría del GOF: Singleton (creacional, sección 3), Cadena de responsabilidad (comporamiento, sección 4) y Proxy (estructural, sección 5)
En la sección 6 sumarizamos las lecciones aprendidas y analizamos a detalle la generalidad de nuestras soluciones de implementación.
[editar]

1 opinión

Muy bueno.

Me ha ayudado bastante del otro lado de python... Esta buen.

Tutoriales relacionados con 'Patrones de diseño en Python'

La elección del lenguaje con el que se implementará afecta el uso de los patrones... Más »
Este es el diario de Peter Class sobre sus dias aprendizaje de una disciplina de... Más »

Autor y licencia de 'Patrones de diseño en Python'


Tutorial de Mononeurona. Extraido de: http://www.mononeurona.org/index.php?idp=460 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.