Qu’est-ce que la fonction wrapper en programmation informatique ? Où peut-elle être utilisée précisément ?


Un wrapper est très simplement une fonction qui existe pour appeler une autre fonction, avec peu ou pas de code supplémentaire. Le terme est un parapluie pour plusieurs modèles de conception "Gang of 4", selon l'intention exacte:

* Pont - Le wrapper existe simplement pour "cacher" une méthode d'un autre code. Ceci est souvent fait dans l'architecture n-tier pour appliquer la "séparation des préoccupations" ; il'est largement accepté que la logique qui montre des données à l'utilisateur ne devrait'pas avoir à se soucier d'où ces données viennent, et de même le code qui récupère les données ne devrait'pas avoir à se soucier (au moins pas trop) de la façon dont il'est affiché. En mettant en place le "pont", le consommateur du pont n'a pas à changer si la méthode que vous'enveloppez le fait (tant que vous n'avez pas à changer la signature de la méthode de pontage).
* Adaptateur - L'enveloppeur change la signature de la méthode, et/ou sa classe contenante, afin qu'elle puisse être utilisée là où une autre "interface" est attendue. C'est une utilisation très courante des wrappers.
* Composite - Les wrappers n'ont pas't à envelopper une seule autre méthode. Ils peuvent ressembler exactement à la méthode qu'ils'enveloppent, mais envelopper en réalité deux ou trois ou quatre méthodes avec cette signature, " diffusant " un seul appel de méthode à plusieurs autres endroits dans le code.
* Proxy - Les wrappers sont couramment vus dans les couches de service. Ils ressemblent exactement à la méthode dans le code d'une autre machine, mais lorsque vous les appelez, ils transforment l'appel en un message réseau qui est envoyé à cette autre machine pour effectuer réellement l'appel. Le "wrapper" existe pour rendre le service plus facile et plus intuitif à utiliser, comme si vous exécutiez ce code localement.