Académique Documents
Professionnel Documents
Culture Documents
Un acercamiento ms directo, a la vez cientfico y emprico, a la dimensin social se da con Alexander y otros (1977), quienes exploran patrones de diseo basados en el uso del espacio.
Contiene 253 patrones, con un formato especfico propuesto por Alexander, en los que se describe la planificacin de ciudades y la construccin de edificios. Christopher Alexander crea que muchos procesos implicados en el diseo de estructuras fsicas eran variables, pero que exista un invariante comn, que defina los principios generales del diseo y construccin. Su mtodo de capturar el conocimiento fue innovador, y reflejaba un conocimiento prctico hasta entonces solo adquirible mediante aos de experiencia. Sugiere una herramienta importante en la metodologa y reconocimiento de las piezas conformadoras de una construccin en donde se busca encontrar a partir de un anlisis, el nivel de adaptacin y su efectividad en ofrecer soluciones optimas para los actores que se desenvuelven en un medio fsico y social determinado. El descubrimiento de las invariantes aplicables al diseo de software es hoy el objetivo de los desarrolladores de software, pues proporcionan un marco comn de conocimiento y soluciones.
Estructura de la Presentacin
Generalidades Estructura de los Patrones Categoras de Patrones Arquitectnicos Patrones Arquitectnicos para Sistemas Simples
Conclusiones
inexpertos pueden disear como expertos, menos errores debido al uso de diseos ya probados,
Revitalizar el centro sin destruir sus aspectos caractersticos. Detectar y potenciar las caractersticas que eran importantes
para los habitantes de Manteo.
Jules Park
The Dutchess restaurant A gravel parking lot The post office The marshes (pantanos) Locally made street signs Fearings soda shop
The church
The cemetery ... Etc.
Language
Los patrones en general, y en particular los de arquitectura, son un intento de formalizar la comunicacin y el reuso de la experiencia de diseo,
Qu es un Patrn?
Un patrn de arquitectura de software es un esquema genrico probado para solucionar un problema particular, el cual es recurrente dentro de un cierto contexto. Este esquema se especifica describiendo los componentes, con sus responsabilidades y relaciones.
Atacan problemas recurrentes que ocurren en situaciones especficas y dan una solucin.
Son una forma de documentar la arquitectura del software. Facilitan la construccin de software con propiedades definidas (propiedades particulares).
Pueden verse como bloques de construccin mentales, para tratar con distintos aspectos del diseo de software.
Hay patrones de arquitectura, patrones de diseo, patrones de procesos, patrones de interfaces, idioms.
No existen paradigmas o lenguajes especficos para implementar patrones de arquitectura, pero algunos proveen elementos tiles (orientacin a objetos, polimorfismo, herencia, etc.).
Contexto
Extiende la dicotoma problema-solucin. Describe el escenario donde se da el problema. La descripcin del contexto puede ser bastante general o muy especfica. Por ejemplo:
Listar todas las situaciones en que el problema surge puede ser una alternativa.
Problema
Describe el problema genrico que surge en el contexto especificado. Esencia: cul aspecto del problema debemos resolver?
Las fuerzas describen aspectos ms especficos del problema con distintos puntos de vista, y hasta pueden contradecirse. Pueden ser:
Solucin
Es la forma de balancear las fuerzas para resolver el problema. Dos aspectos o componentes de la solucin:
La solucin no siempre toma en cuenta todas las fuerzas. Hay que establecer prioridades, si las fuerzas son contradictorias.
Se debe establecer un esquema de soluciones y no algo completamente definido (demasiado especificado, y por ende, restrictivo).
Cada patrn depende de los patrones ms pequeos que contiene y de los ms grandes donde est contenido. Distintos aspectos de un sistema pueden resolverse con distintos patrones. Existen variantes de ciertos patrones para situaciones especiales.
Descripcin de Patrones
Una descripcin apropiada permite la comprensin, el anlisis y la discusin del patrn. La definicin del Contexto-Problema-Solucin es un buen punto de partida. Los buenos nombres se convierten en jerga o modismos.
Ejemplos, diagramas, escenarios y guas para la implementacin tambin pueden formar parte de la definicin de un patrn. Discusin de beneficios y debilidades ayudan a tomar mejores decisin respecto a su uso.
MicroKernel, Reflexion
Patrones Simples
Layers: Ayuda a estructurar aplicaciones que pueden ser
descompuestas en grupos de subtareas con distintos niveles de abstraccin (granularidad).
que procesan datos de entrada. El procesamiento puede estar encapsulado en uno o ms procesos (filtros).
solucin conocida. Generalmente provee aproximaciones a la solucin final. los datos, hacindolos ms flexibles y adaptables.