Patrones de Diseño Sistemas de Información II – IS 445 Docente: Lisber Arana Hinostroza Mayo
La Banda de los , sale a luz el libro que cambiaría para siempre el concepto de Patrones de diseño. PATRONES DE DISEÑO
Qué es un patrón de diseño Aunque nuestra aplicación sea única, tendrá partes comunes con otras aplicaciones. Entonces en lugar de reinventar la rueda, podemos solucionar problemas utilizando algún patrón, ya que son soluciones probadas y documentadas por multitud de programadores.
Entendiendo los Patrones de diseño Los patrones de diseño son el esqueleto de las soluciones a problemas comunes en el desarrollo de software
Debemos tener presente los siguientes elementos de un patrón: Nombre ProblemaSolución Consecuencias Cuando aplicar un patrón Descripción abstracta del problema Costos y beneficios
Tipos de Patrones
Patrones de arquitectura Son patrones de diseño de software que ofrecen soluciones a problemas de arquitectura de software en ingeniería de software. Dan una descripción de los elementos y el tipo de relación que tienen junto con un conjunto de restricciones sobre cómo pueden ser usados. Un patrón arquitectónico expresa un esquema de organización estructural esencial para un sistema de software, que consta de subsistemas, sus responsabilidades e interrelaciones. En comparación con los patrones de diseño, los patrones arquitectónicos tienen una nivel de abstracción mayor.
Patrones de arquitectura Programación por capas Tres niveles Pipeline Invocación implícita Arquitectura en pizarra Arquitectura dirigida por eventos, Presentación-abstracción-control Peer-to-peer Arquitectura orientada a servicios Objetos desnudos Modelo Vista Controlador (MVC)
Tipos de Patrones
Tipos de Patrones de Diseño COMPORTAMIENTO ESTRUCTURALES CREACIONALES Controlan la forma en la que los objetos son creados Definen la forma en que los objetos deben de comportarse en Runtime Definen la forma en que las clases deben estructurarse
Principales Patrones de Diseño
¿Qué es necesario para aprender patrones de diseño? Es necesario entender la programación orientada a objetos Extensión de la POO Los 4 pilares de la POO: Abstracción Encapsulación Polimorfismo y Herencia ¿UML?
POO (Práctica)
Práctica: Repaso: Pilares POO - Herencia - Polimorfismo - Encapsulación - Abstracción
UML
Agregación Vs Composición La clase Computador no tiene sentido sin CPU no tiene sentido (Rel. Fuerte) Un estudiante tiene varias tareas. Pero está bien en el sistema si el estudiante no tiene la tarea.
Asociaciones y Cardinalidad
Herencia de Asociaciones Es un
ICONIX