Diferencia entre algoritmo y patrón de diseño