Prévia do material em texto
Pilares de la Importancia de aprender patrones Abstracción modela solo atributos y comportamientos Facilitan reutilización de soluciones relevantes del objeto. probadas y mejoran calidad del diseño. Encapsulación oculta Proveen un lenguaje común para detalles internos y expone comunicar ideas entre desarrolladores. solo interfaces públicas. Ayudan a resolver problemas complejos Herencia facilita extensión con principios orientados a objetos. y especialización de clases Permiten anticipar cambios y diseñar base. software más flexible y mantenible. Polimorfismo permite invocar métodos adecuados según la clase real. Padrões Fundamentos de ¿Qué es un patrón? POO organiza código en Patrones son soluciones objetos que combinan datos recurrentes a problemas y comportamientos. Design comunes en diseño software. Clases son planos que No son código listo, sino definen atributos y métodos guías para implementar para crear objetos. soluciones adaptadas. Herencia permite reutilizar Incluyen propósito, código extendiendo clases motivación, estructura y existentes. ejemplos para facilitar Polimorfismo permite que comprensión. objetos de distintas clases Se clasifican en respondan igual. Clasificación de patrones creacionales, estructurales Patrones creacionales controlan y de comportamiento según la creación de objetos para mayor su función. flexibilidad. Relaciones entre objetos Patrones estructurales organizan Principios de diseño software clases y objetos en estructuras Dependencia es relación débil eficientes. Buen diseño busca reutilización, donde cambios en una clase extensibilidad y bajo acoplamiento. Patrones de comportamiento afectan otra. gestionan comunicación y Encapsular lo que varía minimiza Asociación implica que un objeto responsabilidades entre objetos. impacto de cambios en el sistema. conoce y usa otro Ejemplos incluyen Singleton, Programar a interfaces, no permanentemente. Factory Method, Adapter, Observer implementaciones, mejora flexibilidad Agregación representa relación y Strategy. del código. 'todo-parte' donde partes pueden Favorecer composición sobre herencia existir solas. permite mayor modularidad y Composición es agregación fuerte donde componentes dependen del contenedor.