Resumen Quiz4 FISW 2008-2De La Palta
[editar] Diagrama de Claseseditar [editar] Patrones de Diseño[editar] Presentación
Ejemplo: Busco una clase que se instancie 1 vez : Singleton. Los patrones de diseño tienen por lo general un nombre que permite recordar la solución. Son independientes del Dominio del Problema.
[editar] Ejemplo de un Problema de Diseño
Hay un método abstracto común: mostrar() en la superclase que son implementados en las subclases. Todos los patos pueden decir cuack y nadar, por lo que la implementación va en la super clase. En cada subclase implementa el metodo mostrar() que hace que cada pato se vea distinto.
A primera vista, lo implementariamos en la superclase, para que todos los patos puedan volar. ¿Qué pasa si alguno de esos patos no podia volar, como un pato de goma?
Solo algunos patos heredan la característica de volar. [editar] Evaluando Soluciones para el Problema de Diseño¿Que puedo hacer? - Sobreescribir el metodo fly, pero seria costoso si muchos patos no volaran. - Usar interfaces, pero si hay muchos comportamientos, exisitirian muchas interfaces. - Podemos agrupar los comportamientos, utilizando interfaces, que cada interfaz tenga subclases (creo) de comportamientos, y asi agrupar. FlyBehavior f = new FlyNoWay(); CuackBehavior c = new Squeak(); Duck rubber = new Duck(); rubber.setFlyBehavior(f); rubber.setCuackBehavior(c); Esto nos permite configurar. Ademas nos permite hacer cambios en tiempo de ejecución de algun comportamiento. [editar] Comentarios acerca del ejemplo[editar] Principios de Diseño[editar] Familia de Patrones[editar] Patrones GOF: Creacionales |
