Please enable JavaScript.
Coggle requires JavaScript to display documents.
Patrón de Diseño - Coggle Diagram
Patrón de Diseño
-
Patrones Estructurales
Decorator
-
-
-
Cuándo usarlo:
Cuando quieres agregar o quitar funcionalidades en tiempo de ejecución sin modificar clases existentes.
-
Facade
Caso de uso:
Clase “SistemaBancario” que agrupa operaciones de cuentas, préstamos y tarjetas en métodos sencillos.
-
-
Cuándo usarlo:
Cuando un sistema tiene demasiadas clases o interfaces complejas y quieres ofrecer una entrada sencilla.
-
Composite
-
Ventajas:
Simplifica el código cliente, que trata todo por igual.
-
-
Cuándo usarlo:
Cuando necesitas representar estructuras jerárquicas (parte-todo) y tratar elementos simples y compuestos de la misma forma.
Propósito:
Componer objetos en estructuras de árbol para tratar elementos individuales y compuestos de forma uniforme.
-
Bridge
Caso de uso:
Figuras geométricas (círculo, cuadrado) que pueden dibujarse con diferentes APIs gráficas (OpenGL, DirectX).
-
-
-
-
Proxy
-
-
-
Cuándo usarlo:
Cuando necesitas controlar el acceso a un objeto (por seguridad, rendimiento, carga diferida o acceso remoto).
-
-
Patrones emergentes
-
-
DAO (Data Access Object)
Caso de uso:
Aplicaciones Java, .NET o Python donde se necesita una capa organizada para interactuar con MySQL, SQL Server, Oracle
Ventajas:
Reduce el acoplamiento entre la lógica de negocio y la persistencia, facilita cambiar la base de datos y mejora la mantenibilidad del código.
Características:
Define una capa que contiene métodos especializados para consultar, insertar, actualizar o eliminar datos.
Cuándo usarlo:
Cuando necesitas un acceso consistente y controlado a la base de datos y quieres evitar que todo el sistema manipule consultas directamente.
Propósito:
Encapsular el acceso a la base de datos en un componente dedicado para aislar la lógica de negocio de los detalles de persistencia.
-
-
-
Patrones Creacionales
Factory Method
Caso de uso
Una aplicación que debe crear distintos tipos de botones (Windows, Mac, Linux) según el sistema operativo.
-
-
Cuándo usarlo
Cuando el tipo exacto de objeto a crear se conoce solo en tiempo de ejecución o depende de una condición.
Propósito
Definir un método para crear objetos, delegando en las subclases qué tipo concreto instanciar.
Abstract Factory
Caso de uso:
Biblioteca de interfaz gráfica que genera ventanas, botones y menús con el mismo estilo (tema oscuro, claro, empresarial).
-
-
Cuándo usarlo:
Cuando necesitas que varios objetos trabajen juntos con un mismo “tema” o estilo y puedas cambiar toda la familia de una vez.
Propósito:
Proveer una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases concretas.
Builder
Caso de uso:
Construir un objeto “Auto” configurando motor, color, interiores, extras, etc.
-
-
Cuándo usarlo:
Cuando un objeto tiene muchas opciones, partes opcionales o configuraciones distintas.
Propósito:
Separar la construcción de un objeto complejo de su representación para poder construirlo paso a paso.
Prototype
Caso de uso:
Duplicar personajes en un videojuego con la misma configuración inicial (estadísticas, equipo, apariencia).
-
-
Cuándo usarlo:
Cuando crear un objeto desde cero es costoso y ya tienes una instancia configurada que puedes copiar.
-
Singleton
Caso de uso:
Gestor de configuración de la aplicación, logger central o gestor de conexión a base de datos.
-
-
Cuándo usarlo:
Cuando solo debe existir un objeto de ese tipo en toda la aplicación (config, logger, etc.).
-