Está en la página 1de 7

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE TIJUANA


SUBDIRECCIÓN ACADÉMICA
DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN

SEMESTRE:
Enero - Junio 2023

CARRERA:
Ing. Sistemas computacionales

MATERIA:
Patrones de Diseño

TÍTULO ACTIVIDAD:
1.3 Categorías o clasificación de los patrones de diseño

UNIDAD A EVALUAR:
Unidad I

NOMBRE Y NÚMERO DE CONTROL DEL ALUMNO:


José de Jesús Pérez Padilla (18212245)
NOMBRE DEL MAESTRO (A):
José de Jesús Parra Galaviz

FECHA DE ENTREGA:
02/03/2023
1.3 Categorías o clasificación de los patrones de diseño

Como ya se ha explicado en la tarea anterior, los patrones de diseño es


básicamente una solución generan en la que en base a estructuras definidas con
un conjunto de métricas se ha creado una solución viable para la solución de
problemas generales, reutilizables y aplicables que, si se diseña de forma
adecuada, son flexible y con una codificación limpia.
Dentro del libro del libro que nos proporcionó el profesor José Parra (Design
Patterns "segunda edición”) se habla de un total de 23 patrones diferentes donde
se explica a detalle la importancia de dichos patrones, la forma de implementación
entre otras cosas. En ese libro se hablan de algunos patrones de diseño que ellos
escogieron para hablar, pero que en realidad no son todos y solo están
estructurados de forma lineal. Dichos patrones son los siguientes:
1. Strategy Pattern
2. Observer Pattern
3. Decorator Pattern
4. Factory Pattern
5. Abstract Factory Pattern
6. Singleton Pattern
7. Command Pattern
8. Adapter Pattern
9. Facade Pattern
10. Template Method Pattern
11. Iterator Pattern
12. Composite Pattern
13. State Pattern
14. Proxy Pattern
15. Compound Patterns (MVCP, MVC, etc.)
16. Bridge Pattern
17. Builder Pattern
18. Chain of Responsibility Pattern
19. Flyweight Pattern
20. Interpreter Pattern
21. Mediator Pattern
22. Memento Pattern
23. Visitor Pattern

En esta ocasión no nos enfocaremos en los patrones que se mencionan en ese


libro, sino, en lo patrones GoF y su estructura.
Patrones GoF
Los patrones GoF, son básicamente un conjunto de patrones de diseño que se han
considerado como usa solución a los problemas recurrentes cuando se está
solucionando desarrollos del software. Los patrones GoF se dividen en tres
categorías las cuales son:
 Patrones creacionales: Estos patrones se centran para crear objetos y
abstraer la forma en la que se crean, recurriendo al desarrollo con
programación Orientada a Objetos.
 Patrones estructurales: Esos patrones lo que hacen es facilitar las
soluciones y estándares eficientes con respecto a las estructuras creadas en
las clases y la misma estructura de los objetos.
 Patrones de comportamiento: Estos patrones se ocupan del
comportamiento, se ocupa de la comunicación entre objetos de clase.

Estas categorías son las que se dividen los siguientes patrones:

Patrones creacionales
Abstract Factory
En este patrón, una interfaz crea conjuntos o familias de objetos relacionados sin
especificar el nombre de la clase.

Builder Patterns
Permite producir diferentes tipos y representaciones de un objeto utilizando el
mismo código de construcción. Se utiliza para la creación etapa por etapa de un
objeto complejo combinando objetos simples.
Factory Method
Proporciona una interfaz para crear objetos en una superclase, pero permite que las
subclases alteren el tipo de objetos que se crearán.
Prototype
Permite copiar objetos existentes sin hacer que su código dependa de sus clases.
Singleton
Este patrón de diseño restringe la creación de instancias de una clase a un único
objeto.
Patrones estructurales
Adapter
Se utiliza para vincular dos interfaces que no son compatibles y utilizan sus
funcionalidades.

Bridge
En este patrón hay una alteración estructural en las clases principales y de
implementador de interfaz sin tener ningún efecto entre ellas.

Composite
Se usa para agrupar objetos como un solo objeto. Permite componer objetos en
estructuras de árbol y luego trabajar con estas estructuras como si fueran objetos
individuales.

Decorator
Este patrón restringe la alteración de la estructura del objeto mientras se le agrega
una nueva funcionalidad.

Facade
Proporciona una interfaz simplificada para una biblioteca, un marco o cualquier otro
conjunto complejo de clases.

Flyweight
El patrón Flyweight se usa para reducir el uso de memoria y mejorar el rendimiento
al reducir la creación de objetos.

Proxy
Se utiliza para crear objetos que pueden representar funciones de otras clases u
objetos y la interfaz se utiliza para acceder a estas funcionalidades
Patrones de comportamiento
Chain of responsibility
El patrón de diseño Chain of Responsibility es un patrón de comportamiento que
evita acoplar el emisor de una petición a su receptor dando a más de un objeto la
posibilidad de responder a una petición.

Command
Convierte una solicitud en un objeto independiente que contiene toda la información
sobre la solicitud.

Interpreter
Se utiliza para evaluar el lenguaje o la expresión al crear una interfaz que indique el
contexto para la interpretación.

Iterator
Su utilidad es proporcionar acceso secuencial a un número de elementos presentes
dentro de un objeto de colección sin realizar ningún intercambio de información
relevante.

Mediator
Este patrón proporciona una comunicación fácil a través de su clase que permite la
comunicación para varias clases.

Memento
El patrón Memento permite recorrer elementos de una colección sin exponer su
representación subyacente.

Observer
Permite definir un mecanismo de suscripción para notificar a varios objetos sobre
cualquier evento que le suceda al objeto que está siendo observado.
State
En el patrón state, el comportamiento de una clase varía con su estado y, por lo
tanto, está representado por el objeto de contexto.

Strategy
Permite definir una familia de algoritmos, poner cada uno de ellos en una clase
separada y hacer que sus objetos sean intercambiables.

Template method
Se usa con componentes que tienen similitud donde se puede implementar una
plantilla del código para probar ambos componentes.

Visitor
El propósito de un patrón Visitor es definir una nueva operación sin introducir las
modificaciones a una estructura de objeto existente.
Referencias

1. Profile. (2019, enero 23). Patrones de diseño de software: mejora el


desarrollo de tus proyectos. Profile. Recuperado de
https://profile.es/blog/patrones-de-diseno-de-software/

2. Freeman, E., & Robson, E. (2021). Head First Design Patterns: Building
Extensible & Maintainable Object-Oriented Software (2nd ed.). O'Reilly
Media.

También podría gustarte