Unidades 4.5 y 4.6
Patrones de diseño - Documento de diseño de objetos

Patrones de diseño

Que es?

son soluciones parciales a problemas comunes, como la separación de una interfaz con respecto a varias implementaciones alternas, Ia envoltura de un conjunto de clases heredadas, la protección de quien llama con respecto a cambios asociados con plataformas especificas.

De que esta compuesto?

Un patron de diseño está compuesto por una pequeña cantidad de clases que, mediante delegacion y herencia, proporcionan una solución robusta y modificable

Patrones

encapsulado de plataformas es:

Este patrón se usa para aislar una aplicación con respecto a las clases concretas proporcionadas por una plataforma especifica, como un estilo de ventanas o un sistema operativo

envoltura alrededor de código heredado es:

Este patrón encapsula un fragmento de código heredado que no fue diseñado para trabajar con el sistema. También limita el impacto de la sustitución del fragmento de código heredado con un componente diferente

Puente: permitir implementaciones alternas es:

Este patron desacopla la interfaz de una clase con respecto a su implementación. A diferencia del patron Adaptador, el desarrollador no está restringido por un fragmento de cOdigo
existente.

Comando: encapsulamiento del control es:

Este patron permite el encapsulamiento del control de tal forma que las peticiones del usuario pueden tratarse de manera uniforme, independientemente de la petición especIfica. Este patron protege esos objetos contra los cambios que resultan de nueva funcionalidad

Compuesto: representación de jerarquias recurrentes es:

Este patron representa una jerarquIa recurrente. Los servicios relacionados con la jerarquIa contenedora se factorizan usando herencia, permitiendo que un sistema trate a una hoja
o a un compuesto de manera uniforme.

Fachada: encapsulamiento de subsistemas es:

El patron Fachada reduce las dependencias entre clases encapsulando un subsistema con una interfaz unificada simple

Observador: desacoplamiento de entidades con respecto a vistas es:

Este patron nos permite mantener consistencia entre los estados de un Publicador
y varios Suscriptor

Apoderado: encapsulamiento de objetos caros es:

Este patron mejora el desempeño o la seguridad de un sistema retrasando cálculos caros, usando memoria solo cuando se necesita o revisando ci acceso antes de cargar un objeto en memoria

Documento de Diseño de Objetos

Que es ?

Describe los compromisos del diseño de objetos tomados por los desarrolladores,
los lineamientos que siguieron para las interfaces de subsistemas, la descomposición de subsistemas en paquetes y clases y las interfaces de clase

Para que se usa?

se usa para intercambiar la información
de interfaz entre equipos y como una referencia durante las pruebas. La audiencia del ODD incluye
a los arquitectos del sistema (es decir, los desarrolladores que participaron en el diseflo del

sistema), los desarrolladores que implementan cada subsistema y quienes hacen las pruebas

Que permite?

permite que los desarrolladores comprendan el subsistema lo bastante bien como
para que puedan usarlo. Además, una buena especificación de interfaz permite que otros desarroliadores implementen las clases en forma concurrente

Enfoques principales para documentar el diseño de objetos

autocontenido generado a partir del modelo

Documentar el modelo de diseño de objetos en la misma forma en que documentamos el modelo de análisis o el modelo de diseño del sistema: escribimos y mantenemos un modelo UML usando una herramienta y generamos el documento en forma automática

El ODD como extension del RAD

El segundo enfoque es tratar al modelo de diseflo de
objetos como una extension del modelo de análisis

ODD incrustado en el código fuente

El tercer enfoque es incrustar el ODD en el código
fuente. Al igual que en el primer enfoque, primero representamos al ODD usando una herramienta de modelado. Una vez que el ODD liega a ser estable usamos la herramienta de modelado para generar los stubs de clase.

Plantilla de un Documento de Diseño de Objetos

Documento de diseno de objetos
Introducción
1.1 Intercambios del diseflo de objetos

1.2 Lineamientos para la documentación de interfaces

1.3 Definiciones, siglas y abreviaturas

1.4 Referencias

Paquetes

Interfaces de clases

Glosario