1
Arquitectura software y patrones
“Una arquitectura orientada a objetos bien estructurada está llena de patrones. La calidad de un sistema orientado a objetos se mide por la atención que los diseñadores han prestado a las colaboraciones entre sus objetos.”
“Los patrones conducen a arquitecturas más pequeñas, más simples y más comprensibles”
2
Diseño orientado a objetos
“Diseñar software orientado a objetos es difícil pero diseñar software orientado a objetos reutilizable es más difícil todavía. Diseños generales y flexibles son muy difíciles de encontrar la primera vez”
¿Qué conoce un programador experto que desconoce uno inexperto?
Reutilizar soluciones que funcionaron en el pasado: Aprovechar la experiencia
3
Patrones
Describen un problema recurrente y una solución.
Cada patrón nombra, explica, evalúa un diseño recurrente en sistemas OO.
Elementos principales:
Nombre
Problema
Solución: Descripción abstracta
Consecuencias
4
Patrones
Patrones de código
Nivel de lenguaje de programación
Frameworks
Diseños específicos de un dominio de aplicaciones.
Patrones de diseño
Descripciones de clases cuyas instancias colaboran entre sí que deben ser adaptados para resolver problemas de diseño general en un particular contexto.
Un patrón de diseño identifica: Clases, Roles, Colaboraciones y la distribución de responsabilidades.
5
Patrones y frameworks
Un framework es una colección organizada de clases que constituyen un diseño reutilizable para una clase específica de software.
Necesario adaptarlo a una aplicación particular.
Establece la arquitectura de la aplicación
Diferencias:
Patrones son más abstractos que los frameworks
Patrones son elementos arquitecturales más pequeños
Patrones son menos especializados
6
Observer
Estructura
7
Observer
Colaboración
8
Modelo-Vista-Control
Utilizado para construir interfaces de usuario en Smalltalk-80.
Basado en tres tipos de objetos:
Modelo: objetos del dominio
Vista: objetos presentación en pantalla (interfaz de usuario)
Controlador: define la forma en que la interfaz reacciona a la entrada del usuario.
Desacopla el modelo de las vistas.
1tr
3tr
4tr
2tr
(Gp:) 1tr. 2tr. 3tr. 4tr.
Este 20 25 90 20
Oeste 30 38 32 32
Norte 47 47 45 45
Vistas
t1=20
t2=25
t3=90
t4=20
Modelo
10
Modelo-Vista-Control
Utiliza los siguientes patrones:
Observer
Composite
Strategy
Decorator
Factory method
Página siguiente |