Les design patterns en génie logiciel: magie ou mythe?