Saltar al contenido

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