Un pattern c'est un concept, au meme titre que celui des boucles, des tests, des piles, files, listes chainées et autres arbres binaires.
Le principe est toujours le même: connais le concept et comprend le pour pouvoir l'adapter à tes besoins.
Une fois que tu as une "maitrise" suffisante du concept, que tu es capable de reconnaitre dans une phrase utilisant des mots de tous les jours que tu es face à ce concept, et que tu peux avoir une idée précise( bien que peut être incomplète) de la manière dont tu l'implémenterais si tu devais le faire toi-même, il est toujours temps de commencer à envisager la question de savoir s'il n'existe aucune implémentation "sécurisante" pour te faciliter la vie et pour t'éviter d'avoir à réinventer la roue.
Non, et non...En sachant cela ça se résume, à mon sens, à inclure ou pas une biblio externe. (Je ne suis pas d'accord avec toi koala, taper du code uniquement pour s'entrainer sur un concept théorique est une chose, mais utiliser ce code dans un programme en est une autre - quand bien même ce serait un exercice à rendre au prof).
D'abord parce que toute librairie n'a un intérêt que dans le sens où les gens sont capables de se rendre compte du fait qu'ils en ont besoin pour le problème face auquel ils sont...
Si tu dis simplement à une personne "utilise cette librairie" sans lui expliquer pourquoi l'utiliser ou quel concept elle met en oeuvre, c'est comme de donner un poisson à quelqu'un: il l'utilisera un jour.
Si, par contre, tu lui permet de comprendre le concept sous-jascent et les cas dans lesquels le concept sera utile, cela revient à apprendre à quelqu'un à pêcher et à lui donner le matériel pour le faire: il s'en servira toute sa vie.
De plus, comme je l'ai déjà expliqué plus haut, une bibliothèque n'a réellement de sens que quand la personne qui l'utilise a appris à l'utiliser, entre autres, en apprenant la syntaxe et les noms de classes / de fonctions qu'elle présente.
Or, même s'il n'y a que finalement peu de fichiers contenant autre chose que des directives pré-processeur dans Boost Signals, arriver à comprendre le fonctionnement de cette bibliothèque particulière nécessite quand même d'être un minimum à l'aise avec les template, la logique du concept implémenté et la langue de shakespeare, ce qui n'est pas *forcément* donné à tout le monde.
Au final, avant d'être en mesure de l'utiliser correctement, l'investissement en temps peut s'avérer réellement fort important si ce n'est que pour utiliser le concept que de manière ponctuelle, bien que tous puissent être convaincus que le ROI sera important et rapide.
+10000
Partager