Consideraciones Iniciales
Para cada uno de los ejercicios, plantee 2 ó 3 formas diferentes de resolverlo. Establezca fortalezas y debilidades de cada solución teniendo en cuenta las siguientes cualidades de diseño:
- Simplicidad: Esto incluye tiempos de desarrollo y prueba, cantidad de componentes a modificar o nuevos, etcétera.
- Matenibilidad: ¿Qué tan fácil se hace mantener cada solución a futuro en caso de haber cambio?
- Flexibilidad: ¿Cuánto permite cada solución adaptar cambios futuros?
Ejercicios
Selección de Comportamiento
- Primeros Ejemplos
- Objetos Simples y Compuestos
- Manejo de Stock
- Ecuaciones
- Tareas (Variante de “Manejo de Proyectos”)
- Cuentas Contables
- Estado como Objeto
- Tamagotchi
- Asientos (Aterrizar.com)
Material Relacionado: El Proceso de Diseño (ej. “Manejo de Proyectos”)
Iteradores
Material Relacionado: Paper sobre el Iterator Pattern
Intercepción de Código
Material Relacionado: Ej. “Clientes de una Tarjeta de Crédito”
Modelar Comportamiento
Material Relacionado: Ejercicio “Firewall”
Patrones Creacionales
- Crear Ecuaciones, con una solución posible
- Crear Instrucciones para el Microcontrolador
- Crear un Tablero del Juego de la Vida
Material Relacionado: Patrones Creacionales, Ej. “Clientes de una Tarjeta de Crédito” (y “Firewall”)
Notificaciones y Manejo de Eventos
- Notificaciones para el manejo de stock
- Reserva de libros
- Subastas on-line
- Registro de incidentes, y una solución posible
Diseño de Interfaces Entre Componentes
Material Relacionado: Diseño de Interfaces entre Componentes
Double Dispatch
Material Relacionado: Ejercicio “Selección de Personal”
Surtidos
- Evaluaciones de Desempeño
- Lista de Correo (versión completa)
- Estanciero:
- Plantas vs. Zombies
- Civilization, con una solución posible
Avanzados
- Gestión de Proyectos
- Task Manager, con una solución posible
- Agencia de Apuestas (incluye una posible solución)
- Paquetes de Turismo
- Organizador de Partidos de Fútbol 5
- Boggle
- Red de Voluntariado