Aprende para que se utilizan los patrones de diseño software creacionales, estructurales y de comportamiento