Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Patrones de Diseño en Modelos de Programación
Patrones de Diseño en Modelos de Programación
PATRONES DE DISEÑO
Los patrones de diseño en programación son soluciones probadas y documentadas para
problemas comunes que los desarrolladores enfrentan al diseñar software. Estos patrones
proporcionan pautas y enfoques generales para resolver problemas específicos de diseño de
manera efectiva y eficiente. Estos patrones no son un tipo de código concreto que se pueda
copiar y pegar, sino más bien conceptos e ideas que se pueden adaptar y aplicar según las
necesidades del proyecto.
Los patrones de diseño no son reglas estrictas, sino más bien guías flexibles. Los
desarrolladores pueden adaptarlos a las necesidades específicas de sus proyectos y
ajustarlos según las circunstancias. Utilizar patrones de diseño puede mejorar la calidad, la
reutilización y la mantenibilidad del código, ya que aprovechan las soluciones probadas y
ayudan a estructurar el diseño de manera más sólida.
PATRONES DE CREACION:
Estos patrones principalmente se basan en la creación de objetos mediante la reutilización
de código existente de tal manera de que se adecue a la situación presentada, gracias a esto
el programa obtiene más flexibilidad al momento de la creación de diferentes objetos.
1. Abstract Factory: Este patrón ofrece una interfaz para crear familias de objetos
relacionados sin la necesidad de especificar sus clases concretamente, este patrón
resulta bastante útil cuando es necesario crear objetas que se relacionan o siguen
ciertas dependencias entre sí.
2. Factory Method: El patrón factory method proporciona una interfaz la cual crea
objetos en una superclase para crear objetos, sin embargo, permite que las subclases
tengan la capacidad de alterar el tipo de objetos que se crean en las mismas, esto
permite la utilización de la encapsulación y la extensibilidad, ya que las subclases
deciden el tipo de clase que pueden instanciar.
3. Builder: Gracias a este patrón, se permite la creación de objetos bastante complejos
paso a paso, y en su mayoría, basándose en objetos simples ya existentes, es decir
este patrón permite producir representaciones y tipos de distintos objetos,
implementando el código de construcción de otros objetos más sencillos.
4. Prototype: Al momento de la creación de nuevos objetos, en la mayoría se opta por
iniciar desde 0, sin embargo, gracias a este patrón, se permite el uso de una
“clonación”, es decir, copiar objetos ya existentes sin la necesidad de que el código
de este objeto sea dependiente de sus clases.
5. Singleton: Por último, se tiene el singleton, este patrón garantiza que una clase
tenga una única instancia, además que proporciona un acceso global a esta única
instancia, gracias a esto se pueden controlar recursos compartidos o para centralizar
funcionalidades.
Juan Pablo Bustos Urueña 20221020114
Paula Catalina Robayo Torres 20221020020
PATRONES ESTRUCTURALES:
Los patrones estructurales en programación son un conjunto de patrones de diseño que se
enfocan en cómo componer objetos y clases para formar estructuras más grandes y
complejas. Estos patrones se centran en la organización y relación entre los objetos para
lograr una arquitectura más flexible, reutilizable y mantenible. Estos patrones estructurales
ayudan a mejorar la modularidad y la organización del código, permiten la reutilización de
componentes y facilitan el mantenimiento a medida que los sistemas crecen y evolucionan.
1. Adapter: Como lo indica su nombre el patrón adapter permite que dos interfaces y
objetos que son incompatibles entre si puedan trabajar de manera eficaz por medio
de un intermediario, comúnmente llamado como adaptador, es decir, este adaptador
permite que dos interfaces trabajen de forma conjunto, que de otra manera no sería
posible.
2. Bridge: Este patrón se basa en la utilización de un puente, que generalmente es una
interfaz la cual separa la abstracción de la implementación, es decir, existen dos
tipos de “jerarquías”, las cuales de esta manera se permite que ambas se puedan
desarrollar de una manera mas libre, eficiente e independientemente.
3. Composite: Gracias a este patrón se pueden agrupar objetos como si fueran un
único objeto, es decir, mediante una estructura similar a la de un árbol para después
trabajar con estas estructuras de varios objetos como si fueran un objeto individual.
4. Decorator: Con este patrón un objeto podrá ser “encapsulado” dentro de otros
objetos que contienen esta función, con esto el objeto encapsulado obtendrá varias
funcionalidades nuevas.
5. Facade: Este patrón proporciona una interfaz simple o simplificada para un grupo
de interfaces, frameworks, bibliotecas o cualquier otro tipo de clase o conjunto de
clases más complejas.
6. Flyweight: Para reducir el uso de memoria excesivo para mejorar el rendimiento
del programa, esto gracias a la reducción de objetos con este patrón, consiste en la
duplicación/reutilización de código de objetos que sean muy similares entre si en
lugar de crear objetos completamente nuevos
7. Proxy: Este patrón de diseño permite crear o implementar un sustituto para otro
objeto, es decir, este patrón controla el acceso al objeto original, permitiendo que
haya un espacio de acción entre que una solicitud llegue al objeto y otro después.
De esta forma, se puede evitar tener que crear más código para que cada clase que
quiera ingresar a el tenga que ejecutar algún código de inicialización ni tampoco,
que en caso de que el código del objeto original sea de terceros, sea imposible
acceder a el.
PATRONES DE COMPORTAMIENTO:
Los patrones de comportamiento están relacionados con el concepto de asignación de
responsabilidades entre clases y resaltan la colaboración entre objetos dentro de un
software.
Juan Pablo Bustos Urueña 20221020114
Paula Catalina Robayo Torres 20221020020