- Patrón Singleton: Implementa un singleton que gestione la configuración global de una aplicación.
- Patrón Factory Method: Crea una fábrica para diferentes tipos de notificaciones (email, SMS, push).
- Patrón Abstract Factory: Diseña una fábrica abstracta que produzca conjuntos de widgets para diferentes sistemas operativos (Windows, Mac, Linux).
- Patrón Builder: Implementa un constructor para una clase
Meal
que permita la creación de diferentes combinaciones de comidas. - Patrón Prototype: Implementa la clonación de objetos de un catálogo de productos.
- Patrón Adapter: Crea un adaptador para integrar un sistema de pagos externo en tu aplicación.
- Patrón Decorator: Diseña decoradores para agregar funcionalidades adicionales a una clase
Document
(e.g., cifrado, compresión). - Patrón Facade: Implementa una fachada para simplificar la interacción con un sistema de gestión de bases de datos.
- Patrón Flyweight: Optimiza la gestión de un conjunto de objetos gráficos que se repiten (e.g., árboles en un bosque).
- Patrón Proxy: Implementa un proxy para controlar el acceso a un servicio remoto.
- Patrón Chain of Responsibility: Diseña una cadena de manejadores para procesar diferentes niveles de soporte técnico.
- Patrón Command: Implementa comandos para un editor de texto (e.g., copiar, pegar, deshacer).
- Patrón Interpreter: Crea un intérprete para evaluar expresiones matemáticas simples.
- Patrón Iterator: Implementa un iterador personalizado para recorrer una colección de objetos complejos.
- Patrón Mediator: Diseña un mediador para gestionar la comunicación entre componentes de una interfaz de usuario.
- Patrón Memento: Implementa un sistema de guardado y restauración de estados para un juego.
- Patrón Observer: Crea un sistema de notificaciones para cambios en los datos de una aplicación.
- Patrón State: Implementa diferentes estados para un objeto
Order
(e.g., pendiente, procesada, enviada). - Patrón Strategy: Diseña estrategias para diferentes algoritmos de búsqueda en una lista.
- Patrón Template Method: Crea un método plantilla para el procesamiento de archivos de diferentes formatos.
- Patrón Visitor: Implementa visitantes para realizar operaciones en una estructura de objetos de geometría (e.g., calcular área, perímetro).
- Composite + Iterator: Diseña una estructura de menús anidados que pueda ser recorrida con un iterador.
- Facade + Singleton: Crea una fachada para un sistema de configuración que sea gestionada por un singleton.
- Command + Memento: Implementa un editor de texto que utilice comandos para las operaciones y memento para deshacer/rehacer.
- Observer + Mediator: Diseña un sistema de chat donde los mensajes se distribuyan a través de un mediador y los usuarios sean observadores.
- Decorator + Strategy: Implementa un sistema de personalización de vehículos donde los decoradores añadan características y las estrategias manejen el cálculo del costo.
- Factory Method + Prototype: Crea una fábrica de clonación para personajes de un juego.
- Abstract Factory + Adapter: Diseña una fábrica abstracta para crear conectores de bases de datos que utilicen adaptadores para diferentes motores.
- Builder + Facade: Implementa un sistema de generación de informes que utilice un constructor para configurar el informe y una fachada para generar el archivo final.
- Flyweight + Composite: Optimiza la gestión de gráficos de un bosque utilizando objetos
Tree
compartidos (flyweight) y compuestos. - Proxy + Command: Diseña un sistema de control de acceso donde el proxy maneje la autenticación y autorización de comandos.
- Chain of Responsibility + Decorator: Implementa una cadena de filtros de seguridad que decoren una solicitud antes de procesarla.
- State + Strategy: Diseña un objeto
Player
en un juego que utilice diferentes estrategias de movimiento dependiendo de su estado. - Template Method + Observer: Crea un sistema de procesamiento de pedidos donde los cambios se notifiquen a los observadores.
- Visitor + Composite: Implementa un sistema de operaciones matemáticas en una estructura de expresión compuesta, donde los visitantes realizan las evaluaciones.
- Interpreter + Flyweight: Diseña un intérprete para un lenguaje de gráficos vectoriales, utilizando flyweight para compartir objetos gráficos.
- Memento + State: Implementa un sistema de guardado de progreso para un juego con diferentes estados de nivel.
- Mediator + Command: Diseña una aplicación de interfaz gráfica donde el mediador gestiona los comandos de los controles.
- Adapter + Proxy: Crea un adaptador para una API externa que utilice un proxy para el manejo de caché.
- Factory Method + Singleton: Implementa una fábrica para la creación de instancias de una clase
Logger
que sea singleton. - Builder + Prototype: Diseña un sistema de creación de documentos que utilice un constructor para definir el contenido y prototipos para clonarlo.
- Abstract Factory + Builder: Implementa una fábrica abstracta que produzca diferentes tipos de construcciones (e.g., casas, puentes) utilizando el patrón builder.
- Command + Observer: Crea un sistema de gestión de tareas donde los comandos notifiquen a los observadores de los cambios.
- Chain of Responsibility + Command + Singleton: Diseña un sistema de procesamiento de solicitudes donde una cadena de comandos maneje las solicitudes, gestionada por un singleton.
Puedes copiar y pegar este contenido en tu GitHub Gist para que los estudiantes puedan acceder a la lista de ejercicios.
Una Rueda
https://wheelofnames.com/es/wv8-ynn
Dos Ruedas
https://spinthewheel.io/es/wheels/sgiSARuOedYN8eZSYeBIcz0xJmU9MA==