¿Cómo puede los patrones de diseño ayudar en la programación orientada a objeto?