ANALISIS Y DISEÑO O.O. (LCD )

1 ANALISIS Y DISEÑO O.O. (LCD 2006-1)Patrones GRASP ANALI...
Author: Eduarda Paredes
0 downloads 2 Views

1 ANALISIS Y DISEÑO O.O. (LCD 2006-1)Patrones GRASP ANALISIS Y DISEÑO O.O. (LCD ) base: Arquitectura de Software Julio Carreño / César Bustacara

2 Patrones GRASP

3 General Responsabilities Assignment Software Patterns

4 PATRONES Solución a Problemas recurrentesCapturar las Mejores Prácticas de Diseño NO son siempre la mejor solución Facilitan la comunicación BENEFICIOS Mantenibilidad Extensibilidad Reestructuración Portabilidad

5 CONOCER Información privada Objetos relacionadosLo que puede derivar/calcular Ej: Métodos analizadores "get"

6 HACER Algo él mismo Ejecutar un cálculo Crear un objetoIniciar acciones en otros Objetos Controlar/Coordinar actividades en otros Objetos Ej: Métodos modificadores "set"

7 Experto

8 BENEFICIO Conserva el Encapsulamiento Bajo Acoplamiento Alta Cohesión

9 Ejemplo Asociaciones de Venta Calculo Total de la VentaMétodos a implementar

10 Ejemplo: Experto Asociaciones de Venta

11 Ejemplo: Experto Calculo Total de la Venta

12 Ejemplo: Experto Métodos a implementar

13 Creador

14 El Objeto B tiene la responsabilidad de tener un método para creación de objetos A si...B agrega objetos A B contiene objetos A B registra objetos A B usa exhaustivamente objetos A B posee info para iniciar A

15 BENEFICIO Bajo Acoplamiento

16 Ejemplo: Creador Agregar Items de Venta

17 Bajo Acoplamiento

18 ¿Cómo soportar bajo grado de dependencia entre clases?Modelo DESCENTRALIZADO (ver dos objetos a lo mas!) Para clases que cambian constantemente... Para reutilización!

19 BENEFICIO No se afectan por cambios en otros componentesFáciles de entender por separado Fáciles de reutilizar

20 Ejemplo: Bajo AcoplamientoDiseño Descentralizado Diseño Centralizado Propuesta Solución UNO Propuesta Solución DOS

21 Ejemplo: Bajo AcoplamientoDiseño Descentralizado

22 Ejemplo: Bajo AcoplamientoDiseño Centralizado

23 Ejemplo: Bajo AcoplamientoPropuesta Solución UNO

24 Ejemplo: Bajo AcoplamientoPropuesta Solución DOS

25 Alta Cohesión

26 BENEFICIO Mejoran la claridad del Diseño Simplificación del cambioGenera bajo acoplamiento Facilita la reutilización

27 Ejemplo Alta Cohesión Baja Cohesión

28 Ejemplo: Alta Cohesión

29 Ejemplo: Alta CohesiónBaja Cohesión

30 Controlador

31 Un coordinador... (por caso de uno!)Que representa el sistema: FACHADA! Que representa un rol activo: TAREAS! Un manejador artificial: SESSION!

32 BENEFICIO Mayor potencial de los Componentes reutilizables

33 Ejemplo Opciones de Controlador Solución DeseableNo muy buena Solución

34 Ejemplo: Controlador Opciones de Controlador

35 Ejemplo: Controlador Solución Deseable

36 Ejemplo: Controlador No muy buena Solución

37 Fachada

38 Ejemplo Fachada

39 Patrones GRASP