Contexto del tema
Cómo se organiza un programa grande para que no se venga abajo: la orientación a objetos, los principios que la disciplinan, las soluciones que se repiten (patrones) y el lenguaje con el que se dibuja todo (UML).
De qué va y por qué se estudia
Cuando un programa crece, el problema deja de ser que funcione y pasa a ser que se pueda seguir cambiando sin romperlo. Este tema es la respuesta que la industria dio a ese problema. La orientación a objetos organiza el código en clases que encapsulan datos y comportamiento; los principios SOLID y GRASP dicen cómo repartir responsabilidades entre ellas; los patrones de diseño son soluciones probadas a problemas que se repiten; y UML es la notación con la que se dibuja todo eso para hablar de ello antes de programarlo.
Es un tema de vocabulario preciso, y así se pregunta. Qué es polimorfismo y en qué se diferencia de sobrecarga; qué principio dice que una clase debe tener una sola razón para cambiar; qué patrón garantiza una única instancia; qué diagrama UML muestra el orden de los mensajes en el tiempo. Los patrones son la parte más extensa (tres apartados, uno por familia) y la que más rinde estudiar con un ejemplo por patrón.
El recorrido va de la idea a la representación: primero los fundamentos de la orientación a objetos, luego los principios, después los patrones (arquitectura y catálogo, creacionales, estructurales, de comportamiento) y al final UML en dos apartados, estructura y comportamiento. El tema de Java, que viene después, aplica todo esto en un lenguaje concreto.
Orientación a objetos, patrones y UML
La forma de organizar el código
- La orientación a objetos
- SOLID y GRASP
Las soluciones que se repiten
- Patrones de arquitectura
- Patrones creacionales
- Patrones estructurales
- Patrones de comportamiento
El lenguaje para dibujarlo
- UML: diagramas de estructura
- UML: comportamiento e interacción
Tres capas de la misma idea: la orientación a objetos organiza, los principios y patrones disciplinan, UML representa. Estudia cada patrón con un ejemplo de una frase y cada diagrama con la pregunta a la que responde.
Para el examen
Problema que resuelve el tema: que un programa grande se pueda cambiar sin romperlo
Qué es un patrón: una solución probada a un problema de diseño que se repite
Qué es UML: la notación estándar para dibujar el diseño antes de programarlo