Mind map
Patrones de Diseño de Software

Map content
Patrones de Diseño de Software
Patrones de Creación
- Factory Method
- Define una interfaz para crear un objeto, pero deja que las subclases decidan qué clase instanciar.
- Abstract Factory:
- Proporciona una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases concretas.
- Por ejemplo
- Proporciona una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases concretas.
- Builder
- Separa la construcción de un objeto complejo de su representación, permitiendo el mismo proceso de construcción para crear diferentes representaciones.
- Prototype
- Crea nuevos objetos clonándolos de un objeto prototipo existente.
- Singleton
- Este patrón de diseño restringe la creación de instancias de una clase a un único objeto.
- compuesto por
- compuesto por
- compuesto por
- Factory Method
Patrones Estructurales
- Adapter
- Permite la interoperabilidad entre interfaces incompatibles.
- Composite
- Compone objetos en estructuras de árbol para representar jerarquías parte-todo.
- Proxy
- Proporciona un sustituto o marcador de posición para otro objeto para controlar el acceso a él.
- Flyweight
- Minimiza el uso de memoria o los costos computacionales compartiendo tanto como sea posible con objetos similares.
- Por ejemplo
- Minimiza el uso de memoria o los costos computacionales compartiendo tanto como sea posible con objetos similares.
- Bridge
- Desacopla una abstracción de su implementación, de modo que ambas puedan variar de manera independiente.
- Decorator
- se utiliza cuando deseas añadir funcionalidades adicionales a un objeto de manera dinámica y flexible, sin necesidad de modificar su estructura.
- Facade
- se utiliza cuando deseas proporcionar una interfaz unificada y simplificada para un conjunto complejo de subsistemas o clases.
- compuesto por
- Adapter
Patrones de Comportamiento
- Command
- Convierte una solicitud en un objeto independiente que contiene toda la información sobre la solicitud.
- 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.
- Memento
- El patrón Memento permite recorrer elementos de una colección sin exponer su representación subyacente.
- State
- 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
- Definir una nueva operación sin introducir las modificaciones a una estructura de objeto existente.
- Chain of responsibility
- 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.
- 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.
- Interpreter
- Se utiliza para evaluar el lenguaje o la expresión al crear una interfaz que indique el contexto para la interpretación.
- Mediator
- Este patrón proporciona una comunicación fácil a través de su clase que permite la comunicación para varias clases.
- Por ejemplo
- Este patrón proporciona una comunicación fácil a través de su clase que permite la comunicación para varias clases.
- compuesto por
- Command
Son una solución general, reutilizable y aplicable a diferentes problemas de diseño de software. Se trata de plantillas que identifican problemas en el sistema y proporcionan soluciones apropiadas a problemas generales a los que se han enfrentado los desarrolladores durante un largo periodo de tiempo, a través de prueba y error.
Se divide en
es
se dividen en
se divide en
Images and files in the map
Information
- Description
- Mind Map on Patrones de Diseño de Software, created by Santiago Ospina Fajardo on 15/02/2024.
- Created by
- Santiago Ospina Fajardo · Feb 2024
- Updated
- Feb 16, 2024
- Views
- 0
- Rating








