Dans la conception orientée objet, il existe un seul principe de responsabilité, ce qui signifie qu'en termes de classe (objet, fonction), il ne devrait y avoir qu'une seule raison de son changement. Si un objet assume trop de responsabilités, cela signifie qu'il deviendra énorme et il y a de nombreuses raisons pour son changement. Il associe ces responsabilités ensemble, ce qui rendra difficile le maintien et le refacteur du programme.
Pour le moment, nous pouvons séparer une partie des responsabilités de l'objet (ontologie) et le donner à certains objets tiers. L'ontologie ne se soucie que de certaines de ses propres responsabilités de base, et ces objets tiers sont appelés agents. Un objet proxy peut servir de protecteur d'un objet (également appelé "Sujet réel"), permettant à l'objet de sujet réel de faire le moins de travail possible. Dans le modèle de conception proxy, un objet agit comme l'interface d'un autre objet.
Habituellement, l'interface entre le proxy et l'ontologie doit être cohérente, de sorte qu'aucun proxy n'est nécessaire, l'utilisateur peut accéder directement à l'ontologie.
Lorsqu'il n'est pas pratique pour nous d'accéder directement à un objet, nous pouvons envisager de recruter un agent pour l'objet.
Le proxy peut être utilisé pour: préchargement de l'image, fusion des demandes HTTP (Proxy recueille toutes les demandes HTTP pour une certaine période de temps, puis les envoie au serveur à la fois), le chargement paresseux (traitement et collectionner certaines opérations de base via le proxy, puis charger l'ontologie uniquement lorsque les résultats de l'ontologie sont vraiment nécessaires), le cache proxy (caches de requête de calcul, les résultats de calcul), etc.
Exemple 1: préchargement de l'image
var myImage = (function () {var imgnode = document.createelement ('img'); document.body.appendChild (imgnode); return {setsrc: function (src) {imgnode.src = src;}}}) (); // proxy function var proxyimage = (function () {var img = nouveau image; iMg.on. MyImage.Setsrc (this.src);} return {setsrc: function (src) {MyImage.Setsrc ('Loading.gif');Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.