patrones de diseño - instituto tecnológico de...

57
Patrones de Diseño M.C. Juan Carlos Olivares Rojas

Upload: hadien

Post on 18-Oct-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones de Diseño

M.C. Juan Carlos Olivares Rojas

Page 2: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones de Diseño• Son principios generales de soluciones que

aplican ciertos estilos que ayudan a la creaciónde software.

• Es una descripción de un problema y la solucióna la que le da el nombre y que se puede aplicaren nuevos contextos. Muchos patrones ayudan aasignar responsabilidades a los objetos.

Page 3: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones de Diseño• Un patrón es un par/problema solución con

nombre que se puede aplicar en nuevoscontextos, con consejos acerca de cómoaplicarlo en nuevas situaciones ydiscusiones sobre sus compromisos.

• “Un patrón de una persona es un bloque deconstrucción primitivo de otra”

Page 4: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones repetitivos• Los patrones sugieren algo repetitivo. No es

su finalidad expresar nuevas ideas dediseño.

• Los patrones permiten codificarconocimientos, estilos y principios existentesy que se han probado que es valido.

Page 5: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones• Existen tanto a nivel arquitectura como de

componentes.

• La Ingeniería del Software se encuentra enpañales en cuanto al uso de patrones.

• Se recomienda que tengan definidas lasresponsabilidades y colaboraciones,ejemplos de código.

Page 6: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Aplicaciones de patrones• Generación de menús en cascada.

• Patrones para la generación de diálogos.

• Patrón de paginación.

• Patrón para la generación de aplicacionesportátiles

Page 7: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones• Son arquitecturas comprobadas para

construir software orientado a objetos quesea flexible y se pueda mantener.

• Proveer la reutilización del diseño ensistemas posteriores.

• Ayudar a identificar los errores y obstáculoscomunes que ocurren al crear sistemas.

Page 8: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones• Ayudar a diseñar sistemas, independientes

del lenguaje en el que se vayan aimplementar.

• Establecer un vocabulario de diseño comúnentre los desarrolladores.

• Acortar la fase de diseño en un proceso dedesarrollo de software.

Page 9: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Ejemplo

Page 10: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrón para un menú desplegable

Page 11: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrón para páginas de interfaces

Page 12: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Herencia Simple

Page 13: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Interfaz genérica

Page 14: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Historia de los patrones• Surgió con los patrones arquitectónicos

(construcción) de Cristofer Alenxander(1977). Los patrones de software seoriginaron en los 80s con Kent Beck.

• Existen patrones como GRASP

Page 15: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Historia de los patrones• De 1991 a 1994 Erich Gamma, Richard

Helm, Ralph Johnson y John Vlissides(banda de los cuatro).

• “La actividad más importante en la escriturade patrones es la reflexión”

Page 16: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Principio abierto-cerrado• PAC descrito por Bertrand Meyer (1988)

indica que los módlos deberían ser tantoabiertos (para extenderse: adaptable) comocerrados (ocultación de la información).

Page 17: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Arquitectura del software• Conjunto de decisiones significativas sobre

la organización del sistema de software, laselección d elos elementos estructurales ysus interfaces, junto con su comportamientoy colaboraciones, interfaces y sucomposición.

Page 18: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Tipos de patrones• Patrones de arquitecturas: relacionados con

el diseño a gran escala y de grano grueso; yque se aplican típicamente en las primerasiteraciones (fase de elaboración).

• Estilo: soluciones de diseño de bajo nivelorientadas a la implementación o al lenguaje.

Page 19: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Tipos de patrones• Patrones de diseño: relacionados con el

diseño de objetos y frameworks de pequeñay mediana escala. También se les llamapatrones de micro-arquitectura

• Otros: patrones del proceso de desarrollo desoftware y organizacionales, patrones deinterfaz de usuario, patrones de pruebas.

Page 20: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones de arquitectura• Capas (layers). Modelo de n niveles.

Ejemplo: arquitectura lógica de un sistemade información. Capas: Presentación (UI,Vista, Interfaz), Aplicación (Flujo de trabajo,proceso, controlador), Dominio (servicios delnegocio, modelo), Infraestructura delnegocio (servicios de negocio de bajo nivel),Servicios técnicos (infraestructura técnica) yBase (servicios del núcleo, servicios básicos)

Page 21: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones arquitectónicos• Arquitectura de tres niveles:

• 1. Interfaz: ventanas, informes, etcétera

• 2. Lógica de la aplicación: tareas y reglasque dirigen el proceso.

• 3. Almacenamiento: mecanismos dealmacenamiento persistente.

Page 22: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones arquitectónicos• La arquitectura de tres niveles se puede

simplificar con un diseño en dos niveles.

• Si la interfaz y lógica de aplicación la lógicade la aplicación están en el cliente, dichosclientes se llaman gruesos.

• Si la interfaz únicamente se encuentra en elcliente, se les denomina clientes ligeros.

Page 23: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones arquitectónicos• Patrón MVC (Modelo-Vista-Controlador) se

encarga de separar interfaces, en general elModelo de la vista.

• Fue creado con Smalltalk-80.

• El modelo es la capa del dominio, la vista esla capa de presentación y el controlador sonlos objetos de flujo de trabajo.

Page 24: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones GoF• Gang-of-Four (“pandilla de los cuatro”)

descritos en el libro Design Patterns (Gama1995) definieron un ctaálogo con 23patrones básicos.

Page 25: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Adaptador• Problema: Resolver interfaces

incompatibles, o proporcionar una interfazestable para componentes parecidos condiferentes interfaces

• Solución: convertir la interfaz original de uncomponente en otra interfaz, mediante unobjeto adaptador intermedio.

Page 26: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Factoría• Principio: diseñe para mantener una

separación de interfaces (separation ofconcerns)

• Los objetos factoría separan lasresponsabilidad de la creación compleja deobjetos de apoyo, ocultan la lógica decreación de la parte compleja.

Page 27: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Factoría• Problema: ¿Quién debe ser el responsable

de la creación de los objetos cuando existenconsideracioes especiales como una lógicade creación compleja, el deseo de separarlas responsabilidades de la creación paramejorar la cohesión, etc.

• Solución: crear un objeto fabricación puradenominado factoría que maneje lacreación.

Page 28: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Fábrica• Su propósito es crear objetos, permitiendo al

sistema identificar que clase se debeinstanciar en tiempo de ejecución.

• Adaptador: proporciona un objeto con unanueva interfaz que se adapta a la interfaz deotro objeto, permitiendo que ambos objetoscolaboren entre sí. Similar a los enchufeseléctricos.

Page 29: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Fábrica abstracta• Permite a un sistema determinar la subclase

a partir de la cual se va a instanciar unobjeto en tiempo de ejecución. A menudo,esta subclase es desconocida drante eldesarrollo.

• Decorador: permite a un objeto obtener unafuncionalidad adicional en forma dinámica.

Page 30: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Singleton• Problema: se admite exactamente una

instancia de una clase. Los objetosnecesitan un único punto de acceso global.

• Solución: Defina un método estático de laclase que devuelva el singleton

Page 31: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Estrategia• Problema: ¿Cómo diseñar diversos

algoritmos o políticas que estánrelacionadas?¿Cómo diseñar que estosalgoritmos o políticas puedan cambiar?

• Solución: defina cada algoritmo/estrategiaen una clase independiente, con unainterfaz común.

Page 32: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Estrategia• Es parecido al patrón Estado, solo que el

patrón Estrategia encapsula un algoritmo yno la información de estado.

• Plantilla: también trabaja con algoritmos,pero aquí todos los objetos comparten unsolo algoritmo definido por una superclase.

Page 33: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Composite• Problema: ¿Cómo tratar un grupo o una

estructura compuesta del mismo modo(polimórficamente) que un objeto nocompuesto (atómico)?

• Solución: defina las clases para los objetoscompuestos y atómicos de manera queimplementen el mismo interfaz.

Page 34: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Compuesto• Cada componente en una estructura

jerárquica implementa la misma interfaz oextiende de una superclase común.

• Con este mecanimo al recorrer todos loselementos (nodos u hojas) no se tendrá quedeterminar de que clase son los elementos.

Page 35: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Fachada• Problema: se requiere de una interfaz

común, unificada para un conjunto deimplementaciones o interfaces dispares --como en un subsistema--. Podría no serconveniente acoplarla con muchas cosasdel subsistema, o la implementación delsubsistema podría cambiar.

Page 36: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Fachada• Solución: defina un único punto de conexión

con el subsistema --un objeto fachada queenvuelva el subsistema--. Este objetofachada presenta una única interfazunificada y es responsable de colaborar conlos componentes del subsistema.

Page 37: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Fachada• Permite a un objeto (conocido como

fachada) proporcionar una interfaz simplepara los comportamientos de unsubsistema.

• Niveles o capas: el modelo de tres capascorresponde al nivel de información, nivelmedio y al nivel cliente.

Page 38: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Observador• Problema: diferentes tipos de objetos

subscriptores están interesados en elcambio de estado o eventos de un objetoemisor, y quieren reaccionar cada uno a sumanera cuando el emisor genere un evento.Además, el emisor quiere mantener bajoacoplamiento con los subscriptores

Page 39: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Observador• Solución:defina una interfaz “subscriptor” u

“oyente” (listener). Los subscriptoresimplementan esta interfaz. El emisordinámicamente puede registrarsubscriptores que están interesados en unevento, y notificarles cuando ocurre unevento.

Page 40: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Observador• Promueve el poco acoplamiento entre un

objeto sujeto y objetos observadores; unsujeto notifica a los observadores cuadoéste cambia de estado. Al ser notificados,los observadores cambian en respuesta alcambio del sujeto.

Page 41: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Estado• Problema: el comportamiento de un objeto

depende de su estado, y sus métodoscontienen la lógica de casos que reflejan lasacciones condicionales dependiendo delestado.

• Solución: cree clases de estado para cadaestado que implementan una interfazcomún.

Page 42: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrón Estado• Utiliza una superclase abstracta (clase de

estado), la cual contiene métodos quedescriben los comportamientos para losestados de un objeto.

• Patrones de diseño de creación:proporcionan formas de instanciar objetosen un sistema.

Page 43: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrón Estado

Page 44: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Command• Problema: ¿Cómo gestionar las solicitudes o

tareas que necesitan funciones comoordenar (estableciendo prioridades), poneren cola, retrasar, anotar en registro odeshacer?

• Solución: definir una clase por cada tareaque implementan una interfaz común.

Page 45: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Comando• Permite a los programadores encapsular la

funcionalidad deseada una vez en un objetoreutilizable.

• Dicha funcionalidad puede agregarse a unmenú, barra de herramientas, menúcontextual o cualquier otro mecanismo.

Page 46: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Proxy• Los patrones de diseño de estructura

describen manera comunes de organizar lasclases y objetos en un sistema.

• Proxy es un patrón de diseño de estructuraque permite ejecutar un objeto mientras seejecuta otro. Carga de varias imágenescuando se da una animación.

Page 47: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrón Proxy

Page 48: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones de diseño decomportamiento

• Proporcionan estrategias comprobadas paramodelar la manera en que los objetoscolaboran entre sí en un sistema.

• Memento: implementa funciones de“deshacer”. Este patrón permite a un objetoguardar su estado, de tal forma de que si serequiere, se pueda restaurar fácilmente.

Page 49: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Puente• Ayuda a mejorar la independencia de la

plataforma.

• Divide un problema en una abstracción ysus implementaciones en jerarquías declases separadas.

Page 50: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrón Puente

Page 51: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Cadena de responsabilidad• Permite aun sistema determinar, en tiempo

de ejecución, el objeto que se encargará deun mensaje.

• Permite a un objeto enviar un mensaje avarios objetos en una cadena de objetos.Cada objeto de la cadena puede manejar elmensaje o pasarlo al siguiente objeto de lacadena.

Page 52: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrones de diseño deconcurrencia

• Ejecución de un solo subproceso(Synchronized).

• Suspensión precavida.• Frustación• Bloqueo de lectura/escritura• Término de dos fases

Page 53: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Patrón Mediador

Page 54: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Referencias• A. Froufe, P. Cárdenas, “J2ME Java “ Micro

Edition”, Alfaomega Ra-Ma, México, 2004,ISBN: 970-15-1022-4.

• M. Prieto, “Desarrollo de juegos con J2ME”,Alfaomega Ra-Ma, México, 2005, ISBN: 970-15-1093-3.

Page 55: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Referencias• C. Larman, “UML y Patrones”, Segunda edición,

Pearson Prentice Hall, España, 2003, ISBN: 84-205-3438-2, pp. 624.

• P. Kimmel, “Manual de UML”, McGraw-Hill,México, 2007, ISBN: 970-10-5899-2.

• R. Pressman, “Ingeniería del Software”, McGraw-Hill, España, 2002, ISBN: 84-481-3214-9

Page 56: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

Referencias• H. Deitel, et al., “Como programar en Java”,

Quinta edición, Pearson Prentice Hall,México, 2004, ISBN: 970-26-0518-0, pp.1268.

• S. Metsker, “Design Patterns in C#”,Addison Wesley, Estados Unidos, 2004,ISBN: 0-321-12697-1.

Page 57: Patrones de Diseño - Instituto Tecnológico de Moreliadsc.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf · Patrones de Diseño • Son principios generales de soluciones

¿Preguntas?