1. Patrones de Diseños Orientados a
Objetos
INTEGRANTES:
- AMAYA DIAZ, CHRISTIAN -- PISFIL CORONADO, FELIPE
- IGNACIO SOTO, PERCY
2. Un Patrón de Diseño (design pattern) es una solución repetible a un
problema recurrente en el diseño de software. Esta solución no es un
diseño terminado que puede traducirse directamente a código, sino más
bien una descripción sobre cómo resolver el problema, la cual puede
ser utilizada en diversas situaciones.
Los patrones de diseño reflejan todo el rediseño y recodificación que
los desarrolladores han ido haciendo a medida que intentaban conseguir
mayor reutilización y flexibilidad en su software.
CONCEPTO
3. OBJETIVOS DE LOS PATRONES DE DISEÑOS
Conseguir mayor reutilización y flexibilidad en el software.
Formalizar un vocabulario común entre diseñadores.
Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando
conocimiento ya existente.
Disminuir número de iteraciones en el ciclo de vida del software
Proporcionar catálogos de elementos reusables en el diseño de sistemas
software
4. Tipos:
Patrones
Arquitectónicos
El patrón provee de un conjunto de subsistemas
predefinidos, especifica sus responsabilidades e
incluye reglas y guías para organizar las relaciones
entre ellos.
Un patrón de diseño provee un esquema para refinar los
subsistemas o componentes de un sistema software, o las
relaciones existentes entre ellos.
Describen una estructura común y recurrente de
comunicaciones entre componentes que resuelve un problema
general de diseño dentro de un contexto particular.
Patrones de
diseño
Un patrón de bajo nivel específico para un lenguaje de
programación. Un idioma describe cómo implementar aspectos
particulares de componente o de relaciones entre ellos utilizando
las características de un determinado lenguaje.
Patrones elementales
Según el nivel conceptual
5. PATRONES CREACIONALES: tratan sobre cómo crear instancias
de objetos y sobre cómo hacer los programas más flexibles y
generales abstrayendo el proceso de creación de instancias.
PATRONES ESTRUCTURALES: describen como las
clases y los objetos pueden ser combinados para
formar estructuras mayores.
PATRONES DE COMPORTAMIENTO: son patrones que
tratan de formar más específica con aspectos
relacionados con la comunicación entre objetos.
Clasificación:
6.
7. VENTAJAS DESVENTAJAS
La ventaja de este método radica en su
sencillez ya que sigue los pasos intuitivos
necesarios a la hora de desarrollar el software.
Resistencia al cambio: se debe elegir el patrón
que facilite lo más posibles futuros cambios.
Los cambios en un diseño no son probables,
son seguros, se producen con toda seguridad.
Reutilización: La reutilización de código
resulta prácticamente imposible. En cambio,
los diseños son mucho más reutilizables, pero
ni siquiera tanto como las propias ideas. Se
debe tender a reutilizar las ideas.
Minimizan el riesgo de generar un mal diseño y
permiten comunicar experiencias entre
diseñadores.
Los proyectos reales raramente siguen el flujo
secuencial que propone el modelo, siempre hay
iteraciones y se crean problemas en la aplicación
del paradigma.
Normalmente, es difícil para el cliente
establecer explícitamente al principio todos los
requisitos. El ciclo de vida clásico lo requiere y
tiene dificultades en acomodar posibles
incertidumbres que pueden existir al comienzo
de muchos productos.
El cliente debe tener paciencia. Hasta llegar a
las etapas finales del proyecto, no estará
disponible una versión operativa del programa.
Un error importante no detectado hasta que el
programa esté funcionando puede ser
desastroso.
8. Patrones de Diseño - ¿Que es el Patrón de Diseño Bridge?
El patrón de diseño bridge simplemente nos permite separar abstracción de su implementación.
Diagrama UML
9. Nombre del patrón:
Bridge o Puente
Clasificación del Patrón:
Estructural
Intención:
Disociar una abstracción de su aplicación, de manera que los dos pueden variar independientemente.
Publicar una interfaz en la jerarquía de herencia, y insertar en su propia aplicación herencia jerarquía.
Motivación:
Desacoplar una abstracción de su implementación. La Herencia liga una implementación a una abstracción
dificultando la modificación, extensión y reutilización.